> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ghostable.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Environments & Variables

> Browse variables, edit values, inspect history, and import or export env files from the desktop app.

<Card title="Read the shared environment model" icon="circle-info" href="/fundamentals/v2/core-objects/environments">
  This guide covers the macOS UI; the linked Fundamentals page explains what environments mean
  across clients.
</Card>

## Open an Environment

From a Project window, use the **Environments** section to browse available environments and open
one in its own window.

## Variables View

The Variables section is the main workspace for environment data. It supports:

* search by variable key,
* table and grouped layouts,
* hiding disabled variables,
* creating new variables,
* disabling or deleting existing variables,
* importing a local `.env` file,
* exporting the environment back to a local file.

{/* ghostable:screenshot-output desktop-environments-variables-main:start */}

<img className="block dark:hidden w-full" src="https://mintcdn.com/ghostable/BOl2AUG1DFr1k8ob/images/generated/screenshots/ghostable-desktop/environment-variables-main-light.png?fit=max&auto=format&n=BOl2AUG1DFr1k8ob&q=85&s=91579fb29851f16ffdaf0bc42e67479f" alt="Ghostable desktop environment window showing the variables view with search, variable rows, and the import and export controls." width="2440" height="1344" data-path="images/generated/screenshots/ghostable-desktop/environment-variables-main-light.png" />

<img className="hidden dark:block w-full" src="https://mintcdn.com/ghostable/BOl2AUG1DFr1k8ob/images/generated/screenshots/ghostable-desktop/environment-variables-main-dark.png?fit=max&auto=format&n=BOl2AUG1DFr1k8ob&q=85&s=2f2d966927aa4ff0216e697fc6b72e07" alt="Ghostable desktop environment window showing the variables view with search, variable rows, and the import and export controls." width="2440" height="1344" data-path="images/generated/screenshots/ghostable-desktop/environment-variables-main-dark.png" />

## Variable Detail Pane

When you select a variable, the detail column opens. Use it to review:

* Info details such as size, version, and who last updated the value,
* validation issues,
* framework-specific insights,
* a shared description / note for documenting intent, constraints, dependencies, or agent
  instructions,
* version history, including the optional reason for change attached when a value is updated,
* restore options for older values.

If no variable is selected, the detail pane collapses so the window behaves like a two-column view.

Desktop uses the top-level detail switcher for **Info**, **Validation**, and **History**. Inside the
**Info** view, the same pane also includes the **Description / Note** section for the selected
variable.

{/* ghostable:screenshot-output desktop-environments-variable-detail:start */}

<img className="block dark:hidden w-full" src="https://mintcdn.com/ghostable/niSaDbib8ukezvbD/images/generated/screenshots/ghostable-desktop/environment-variable-detail-light.png?fit=max&auto=format&n=niSaDbib8ukezvbD&q=85&s=fe8940bc357a07182c4ad383a8c0f3f1" alt="Ghostable desktop environment window showing a selected variable with the detail pane open on the Info tab." width="2280" height="1344" data-path="images/generated/screenshots/ghostable-desktop/environment-variable-detail-light.png" />

<img className="hidden dark:block w-full" src="https://mintcdn.com/ghostable/niSaDbib8ukezvbD/images/generated/screenshots/ghostable-desktop/environment-variable-detail-dark.png?fit=max&auto=format&n=niSaDbib8ukezvbD&q=85&s=b6adc3e25c4d0cc38b20ebbbb917290e" alt="Ghostable desktop environment window showing a selected variable with the detail pane open on the Info tab." width="2280" height="1344" data-path="images/generated/screenshots/ghostable-desktop/environment-variable-detail-dark.png" />

## Comments

{/* ghostable:screenshot-output desktop-environments-variable-comments:start */}

<img className="block dark:hidden w-full" src="https://mintcdn.com/ghostable/niSaDbib8ukezvbD/images/generated/screenshots/ghostable-desktop/environment-variable-comments-light.png?fit=max&auto=format&n=niSaDbib8ukezvbD&q=85&s=4d9247cd09b5b12b5a8164ce938143af" alt="Ghostable desktop environment detail pane focused on the comments thread for a selected variable." width="2280" height="1344" data-path="images/generated/screenshots/ghostable-desktop/environment-variable-comments-light.png" />

<img className="hidden dark:block w-full" src="https://mintcdn.com/ghostable/niSaDbib8ukezvbD/images/generated/screenshots/ghostable-desktop/environment-variable-comments-dark.png?fit=max&auto=format&n=niSaDbib8ukezvbD&q=85&s=e0a0ddf809a0c439f604ade2c65c3af8" alt="Ghostable desktop environment detail pane focused on the comments thread for a selected variable." width="2280" height="1344" data-path="images/generated/screenshots/ghostable-desktop/environment-variable-comments-dark.png" />

Use variable comments when the conversation belongs to one key and should stay attached to that
variable instead of getting lost in chat or issue threads.

This is a good place for rollout notes, approvals, handoffs, troubleshooting context, and questions
about a specific value.

Comments stay inside Ghostable's zero-knowledge model. The comment body is encrypted client-side and
only decrypted in trusted clients, while activity and notifications stay metadata-only.

The comments thread is flat, shared with authorized members, and visible from desktop, CLI, and
other trusted Ghostable clients.

## Pending Key Access

If this Mac has not received the necessary environment key yet, Ghostable shows a **Key Access
Pending** state instead of the variable list. The app can either wait for a teammate to fulfill the
request or copy the fallback CLI command for you.

{/* ghostable:screenshot-output desktop-environments-pending-key-reshare:start */}

<img className="block dark:hidden w-full" src="https://mintcdn.com/ghostable/BOl2AUG1DFr1k8ob/images/generated/screenshots/ghostable-desktop/environment-key-reshare-pending-light.png?fit=max&auto=format&n=BOl2AUG1DFr1k8ob&q=85&s=7e10dc9a0180aae5e00d0d6225ca35aa" alt="Ghostable desktop environment window showing the Key Access Pending state while the Northstar device still needs a key re-share." width="1074" height="352" data-path="images/generated/screenshots/ghostable-desktop/environment-key-reshare-pending-light.png" />

<img className="hidden dark:block w-full" src="https://mintcdn.com/ghostable/BOl2AUG1DFr1k8ob/images/generated/screenshots/ghostable-desktop/environment-key-reshare-pending-dark.png?fit=max&auto=format&n=BOl2AUG1DFr1k8ob&q=85&s=9319e0ca6b4785d272be584eb9f144a0" alt="Ghostable desktop environment window showing the Key Access Pending state while the Northstar device still needs a key re-share." width="1074" height="352" data-path="images/generated/screenshots/ghostable-desktop/environment-key-reshare-pending-dark.png" />

## Variable Promotion Requests

From the Variables table, select one or more keys and use the promote action to create a
cross-environment promotion request.

When this environment is the target of pending promotions, desktop surfaces a pending review banner
above the variables table so reviewers can open the request quickly.

For a complete review walkthrough (approve/reject behavior, value overrides, and decrypt-unavailable
states), use the dedicated promotions guide.

## Continue

<CardGroup>
  <Card title="Promotion requests" icon="shuffle" href="/desktop/v1/daily-work/promotion-requests">
    Review and decide pending cross-environment promotion requests in desktop.
  </Card>

  <Card title="Validation and history" icon="clock" href="/desktop/v1/daily-work/validation-and-history">
    Review project-level validation and environment or project activity flows.
  </Card>

  <Card title="Import and export .env files" icon="folder-open" href="/desktop/v1/local-integration/import-export-env-files">
    Learn the local file workflows behind environment editing.
  </Card>
</CardGroup>
