Environments &amp; Variables | Ghostable Desktop | Ghostable                              Menu

 Environments &amp; Variables

   Shared environments
-------------------

 A shared environment is an encrypted, repository-backed set of variables such as `development`, `staging`, or `production`. The environment name and type are visible project metadata; values remain encrypted at rest under `.ghostable/`.

 Selecting an environment loads only values this device is authorized to read. The table shows version and update information so a reviewer can distinguish a recent change from an unchanged value without exposing history in plaintext.

![Ghostable Desktop environment variable table with a missing required key warning](https://ghostable.dev/images/generated/screenshots/ghostable-desktop-v3/environment-variables-light.png)![Ghostable Desktop environment variable table with a missing required key warning](https://ghostable.dev/images/generated/screenshots/ghostable-desktop-v3/environment-variables-dark.png)Variables stay scoped to the selected shared environment; required missing keys remain visible above the table.

 Create an environment
---------------------

1. Select the plus control beside **Shared environments**.
2. Enter a stable lowercase name, such as `staging`.
3. Choose an environment type. Types influence policy and review behavior; they are not cosmetic labels.
4. Confirm the change, inspect the new environment, and commit the resulting `.ghostable/` files.

 Environment access is scoped. Creating an environment does not automatically grant every device permission to read or change it. Review [Access &amp; Automation](https://ghostable.dev/docs/desktop/workflows/access-and-automation) before sharing production access.

 Work with variables
-------------------

 Select the plus control in the variable toolbar to add a key. Use conventional uppercase names and provide a reason when Desktop requests one; the reason becomes part of signed, reviewable activity.

- **Enabled** variables are emitted normally when writing or injecting an environment.
- **Commented** variables can be represented as commented entries in supported file workflows.
- **Secret values** are masked in the table. Revealing a value only affects the current authorized device and interface session.
- **Order** can be managed so generated files remain predictable and easy to diff.

  Pasting is still plaintext handling

 Desktop encrypts a value before committing project state, but the clipboard and local machine see the plaintext first. Use a trusted device, clear sensitive clipboard history, and avoid screen sharing while revealing or editing secrets.

 Variable details
----------------

 Select a variable row to open the detail panel. The panel separates the value from descriptive and policy metadata so teams can document a key without placing its secret in a note.

- Edit the value and record why it changed.
- Add an encrypted note for context that should travel with the value.
- Inspect version and update metadata.
- Configure dynamic-variable behavior when supported by the project.
- Add annotations used by tooling or team conventions.
- Review the validation rules that apply to the selected key.

 Notes should explain ownership, rotation, or usage. Do not duplicate the secret value inside a note, annotation, commit message, or issue tracker.

![Ghostable Desktop variable detail panel for an encrypted database URL](https://ghostable.dev/images/generated/screenshots/ghostable-desktop-v3/variable-detail-light.png)![Ghostable Desktop variable detail panel for an encrypted database URL](https://ghostable.dev/images/generated/screenshots/ghostable-desktop-v3/variable-detail-dark.png)Select a variable to inspect and edit its value, note, state, metadata, and policy details.

 Missing keys
------------

 The banner above the table lists required keys missing from the selected environment. It is derived from project and environment validation rules. Add the missing value or intentionally adjust the rule; do not silence the signal by adding a meaningless placeholder to a production environment.

 A reviewable workflow
---------------------

1. Pull the latest Git branch before editing encrypted state.
2. Select the exact environment and confirm its type.
3. Change the smallest set of variables and provide useful reasons.
4. Run [Validation and Review](https://ghostable.dev/docs/desktop/workflows/validation-and-review).
5. Inspect `git diff -- .ghostable`, then commit the encrypted state and signed records.

    On this page

    [ ![Ghostable](https://ghostable.dev/images/logo-dark.svg) ![Ghostable](https://ghostable.dev/images/logo-light.svg) ](https://ghostable.dev)

   Desktop     [   CLI 3.x ](https://ghostable.dev/docs/3.x) [   Desktop ](https://ghostable.dev/docs/desktop)

  CLI 3.x introduction Documentation local first no login encrypted repository plaintext hosted service

  Installation Documentation brew homebrew npm npx linux windows PATH version update

  Start a new project Getting Started setup seed dotenv owner initialize

  Adopt an existing project Getting Started existing env import authoritative source adopt

  Onboard a team member Getting Started join request approve roles offboarding pull request

  Repository and storage Core Concepts .ghostable git conflict merge worktree private identity metadata

  Environments Core Concepts protected production preview staging push sync pull replace run mask-output

  Variables and promotions Core Concepts var promote copy context annotation key

  Access and devices Core Concepts identity reader writer grantor owner revoke rotate leave delete

  Daily development workflow Workflows pull diff validate review clean daily

  Review and secret scanning Workflows scan sarif github suppress secrets drift

  Hygiene and rotation Workflows rotation stale unused suppression environment key

  Automation credentials Automation &amp; CI GHOSTABLE\_CI\_TOKEN ci deploy credential powershell revoke replace

  Continuous integration Automation &amp; CI GitHub Actions fork pull request JSON stdout stderr exit codes mask-output

  Deployments Automation &amp; CI Forge Vapor Cloud provider CLI dry-run preserve remote keys temporary files

  Validation Reference schema required nullable regex min max different\_from

  Command reference Reference --help --json NO\_COLOR flags aliases exit code automation

  Configuration Reference ghostable.yaml activity mode auditEnvironments scan ignores deployTarget dotenv syntax

  Security Reference cryptography XChaCha20 Poly1305 HKDF user presence threat model

  Backups &amp; Offline Reference recovery offline restore clone key identity

  Agent integration Reference AGENTS.md capabilities allowlist coding agent

  Troubleshooting Reference no project found revoked identity stale policy user presence invalid CI token provider CLI git conflict diagnostics

  Ghostable Desktop overview Desktop

  Installation Desktop

  Projects and setup Desktop

  Interface tour Desktop

  Environments and variables Desktop

  Local environment files Desktop

  Validation and review Desktop

  Activity Desktop

  Access and automation Desktop

  Project settings Desktop

  Application settings Desktop

  Licensing and updates Desktop

  Security and storage Desktop

  Troubleshooting Desktop    No results found
