❯envpilot
featurespricing❯docsblogchangelogwishlistfaq
sign-inget-started
// documentation
Start Here
  • Quickstart
  • Core concepts
  • Architecture: the machine surfaces
Platform
  • Data model
  • Variables
  • Secret files
  • Shared Accounts
  • Secret Sharing Links
  • Diagrams in documentation
  • Sharing documentation
  • Roles & permissions
  • Requests & approvals
  • Rotation & expiry
  • Security
Plans & Limits
  • Plans & Limits
  • Rate limits
CLI
  • CLI overview
  • Authentication & accounts
  • Linking projects
  • Pull & push
  • Running commands with secrets
  • Single secrets
  • Requests
  • Secret files
  • Command reference
  • CLI in CI & troubleshooting
VS Code
  • VS Code overview
  • Linking & sync
  • Protection
  • Editor features
  • Commands
  • Settings
  • Troubleshooting
GitHub Action
  • GitHub Action overview
  • Inputs & outputs
  • Secret files in CI
  • Recipes
  • Action security
Docker
  • Docker overview
  • Build time
  • Runtime
  • Docker Compose
  • Docker reference
API Reference
  • API overview
  • API Quickstart
  • Authentication
  • Errors
  • Organization
  • Projects
  • Variables
  • Shared accounts
  • Secret files
MCP Server
  • MCP overview
  • MCP setup
  • Connecting a client
  • Tools
  • Agent requests
Web Dashboard
  • Dashboard overview
  • Working in a project
  • Organization administration
Integrations
  • Slack & Discord Notifications
Guides
  • How to Share Environment Variables Securely
  • Next.js Environment Variables Best Practices
  • Android keystore in CI
  • Giving an agent secrets safely

// resources

  • github
  • npm
  • vs code marketplace
Start HerePlatformPlans & LimitsCLIVS CodeGitHub ActionDockerAPI ReferenceMCP ServerWeb DashboardIntegrationsGuides
❯envpilot

Encrypted environment variables for teams that live in the terminal. No .env files, no secrets in Slack.

$npm install -g @envpilot/cli

// product

  • Features
  • Pricing
  • Changelog
  • Wishlist

// resources

  • Getting Started
  • CLI Reference
  • VS Code Extension
  • Security

// compare

  • vs Doppler
  • vs Infisical
  • vs .env files

// support

  • FAQ
  • Support
  • Contact
  • Docs
  • Status

// legal

  • Privacy Policy
  • Terms of Service

© 2026 Envpilot · Built at Syntax Lab Technology · Abdul Rafay

ENVPILOT

❯envpilot
featurespricing❯docsblogchangelogwishlistfaq
sign-inget-started
// documentation
Start Here
  • Quickstart
  • Core concepts
  • Architecture: the machine surfaces
Platform
  • Data model
  • Variables
  • Secret files
  • Shared Accounts
  • Secret Sharing Links
  • Diagrams in documentation
  • Sharing documentation
  • Roles & permissions
  • Requests & approvals
  • Rotation & expiry
  • Security
Plans & Limits
  • Plans & Limits
  • Rate limits
CLI
  • CLI overview
  • Authentication & accounts
  • Linking projects
  • Pull & push
  • Running commands with secrets
  • Single secrets
  • Requests
  • Secret files
  • Command reference
  • CLI in CI & troubleshooting
VS Code
  • VS Code overview
  • Linking & sync
  • Protection
  • Editor features
  • Commands
  • Settings
  • Troubleshooting
GitHub Action
  • GitHub Action overview
  • Inputs & outputs
  • Secret files in CI
  • Recipes
  • Action security
Docker
  • Docker overview
  • Build time
  • Runtime
  • Docker Compose
  • Docker reference
API Reference
  • API overview
  • API Quickstart
  • Authentication
  • Errors
  • Organization
  • Projects
  • Variables
  • Shared accounts
  • Secret files
MCP Server
  • MCP overview
  • MCP setup
  • Connecting a client
  • Tools
  • Agent requests
Web Dashboard
  • Dashboard overview
  • Working in a project
  • Organization administration
Integrations
  • Slack & Discord Notifications
Guides
  • How to Share Environment Variables Securely
  • Next.js Environment Variables Best Practices
  • Android keystore in CI
  • Giving an agent secrets safely

// resources

  • github
  • npm
  • vs code marketplace
Start HerePlatformPlans & LimitsCLIVS CodeGitHub ActionDockerAPI ReferenceMCP ServerWeb DashboardIntegrationsGuides
❯envpilot

Encrypted environment variables for teams that live in the terminal. No .env files, no secrets in Slack.

$npm install -g @envpilot/cli

// product

  • Features
  • Pricing
  • Changelog
  • Wishlist

// resources

  • Getting Started
  • CLI Reference
  • VS Code Extension
  • Security

// compare

  • vs Doppler
  • vs Infisical
  • vs .env files

// support

  • FAQ
  • Support
  • Contact
  • Docs
  • Status

// legal

  • Privacy Policy
  • Terms of Service

© 2026 Envpilot · Built at Syntax Lab Technology · Abdul Rafay

ENVPILOT

// documentation
Start Here
  • Quickstart
  • Core concepts
  • Architecture: the machine surfaces
Platform
  • Data model
  • Variables
  • Secret files
  • Shared Accounts
  • Secret Sharing Links
  • Diagrams in documentation
  • Sharing documentation
  • Roles & permissions
  • Requests & approvals
  • Rotation & expiry
  • Security
Plans & Limits
  • Plans & Limits
  • Rate limits
CLI
  • CLI overview
  • Authentication & accounts
  • Linking projects
  • Pull & push
  • Running commands with secrets
  • Single secrets
  • Requests
  • Secret files
  • Command reference
  • CLI in CI & troubleshooting
VS Code
  • VS Code overview
  • Linking & sync
  • Protection
  • Editor features
  • Commands
  • Settings
  • Troubleshooting
GitHub Action
  • GitHub Action overview
  • Inputs & outputs
  • Secret files in CI
  • Recipes
  • Action security
Docker
  • Docker overview
  • Build time
  • Runtime
  • Docker Compose
  • Docker reference
API Reference
  • API overview
  • API Quickstart
  • Authentication
  • Errors
  • Organization
  • Projects
  • Variables
  • Shared accounts
  • Secret files
MCP Server
  • MCP overview
  • MCP setup
  • Connecting a client
  • Tools
  • Agent requests
Web Dashboard
  • Dashboard overview
  • Working in a project
  • Organization administration
Integrations
  • Slack & Discord Notifications
Guides
  • How to Share Environment Variables Securely
  • Next.js Environment Variables Best Practices
  • Android keystore in CI
  • Giving an agent secrets safely

// resources

  • github
  • npm
  • vs code marketplace
Start HerePlatformPlans & LimitsCLIVS CodeGitHub ActionDockerAPI ReferenceMCP ServerWeb DashboardIntegrationsGuides
CLI overviewAuthentication & accountsLinking projectsPull & pushRunning commands with secretsSingle secretsRequestsSecret filesCommand referenceCLI in CI & troubleshooting
docs/CLI
v1.22.3

Command reference

Every CLI command, argument, and example — generated from the CLI's own command catalog.

open in claudeopen in chatgptopen in cursor

Command reference

Complete surface of @envpilot/cli v1.22.3.

Generated, not transcribed

The tables and details below are generated from apps/cli/src/lib/command-catalog.ts — the same catalog that registers the commands and powers envpilot man and the terminal UI. A command cannot exist without appearing here, and this page cannot drift from the binary: CI fails if it does.

Run envpilot man <command> for the same information offline.

CommandGroupWhat it does
envpilotGet StartedOpen the Ink-powered terminal dashboard for discovering and running commands. Aliases: envpilot ui, envpilot dashboard.
envpilot uiGet StartedOpen the interactive Ink-powered terminal UI. Aliases: envpilot dashboard.
envpilot syncSyncAuthenticate, select a project, pull variables, and set up local protection in one flow.
envpilot manGet StartedShow the CLI manual page with commands, workflows, and security guidance.
envpilot loginGet StartedAuthenticate the CLI against the Envpilot web app.
envpilot initGet StartedLink the current directory to a project and choose a default environment.
envpilot pullSyncDownload project variables into a local file or export format.
envpilot pushSyncUpload local variables back to Envpilot, writing only the keys you have access to.
envpilot requestSyncSubmit a request to create a new environment variable for review (developers only).
envpilot requestsBrowseList variable requests, or approve/reject/cancel them without leaving the terminal.
envpilot secretsSyncChange one secret without pull/edit/push. Two-step by default: key first, value prompted MASKED (never in shell history). Aliases: envpilot var.
envpilot runSyncInject project secrets into a child process without writing a .env file (envpilot run -- bun dev).
envpilot listBrowseList organizations, projects, variables, or linked projects from the terminal.
envpilot list organizationsBrowseList organizations available to the current user. Aliases: envpilot list orgs.
envpilot list projectsBrowseBrowse projects in the active organization.
envpilot list variablesBrowseInspect variables for a project with environment and tag filtering. Aliases: envpilot list vars.
envpilot list linkedBrowseShow projects linked in the current directory.
envpilot switchProjectSwitch the active organization, project, environment, or linked project.
envpilot usageBrowseInspect current plan usage and feature availability for the active organization.
envpilot whoamiAccountShow the authenticated user, API target, and current active CLI context.
envpilot accountsAccountList authenticated accounts and switch or remove them without logging out.
envpilot filesProjectManage secret files — keystores, SSH keys, certificates, and service-account JSON — that cannot live in a .env.
envpilot configAccountInspect or update local CLI configuration such as the active API URL.
envpilot logoutAccountRevoke the current CLI session and clear local auth state.
envpilot unlinkProjectRemove a linked project from the current directory without deleting local env files.

Command details#

envpilot

Open the Ink-powered terminal dashboard for discovering and running commands.

❯terminal
envpilot
envpilot ui
envpilot dashboard
  • This is the default when you run envpilot with no subcommand.
  • Supports search, keyboard navigation, and command launch.

envpilot ui

Open the interactive Ink-powered terminal UI.

❯terminal
envpilot ui
envpilot dashboard
  • Use this when you want the UI explicitly instead of relying on the default no-arg launcher.

envpilot sync

Authenticate, select a project, pull variables, and set up local protection in one flow.

Arguments — [--organization <id>] [--project <id>] [--env <environment>]

❯terminal
envpilot sync
envpilot sync --env production
  • Best first-run workflow for local setup.
  • Reuses the existing login, init, and pull logic under the hood.

envpilot man

Show the CLI manual page with commands, workflows, and security guidance.

Arguments — [command]

❯terminal
envpilot man
envpilot man pull
  • Use this to see the supported command set.
  • Supports per-command manual sections.

envpilot login

Authenticate the CLI against the Envpilot web app.

Arguments — [--api-url <url>] [--no-browser]

❯terminal
envpilot login
envpilot login --no-browser
  • Opens the web authentication page by default.
  • Required before organization or project commands will work.

envpilot init

Link the current directory to a project and choose a default environment.

Arguments — [--organization <id>] [--project <id>] [--env <environment>]

❯terminal
envpilot init
envpilot init --add
  • Creates or updates the local .envpilot file.
  • Supports linking multiple projects with --add.

envpilot pull

Download project variables into a local file or export format.

Arguments — [--env <environment>] [--file <path>] [--format <format>]

❯terminal
envpilot pull
envpilot pull --env staging --dry-run
  • Supports .env, JSON, YAML, Vercel, Netlify, AWS, and Docker Compose formats.
  • Can pull the active linked project or all linked projects.

envpilot push

Upload local variables back to Envpilot, writing only the keys you have access to.

Arguments — [--env <environment>] [--file <path>] [--merge|--replace]

❯terminal
envpilot push
envpilot push --replace
  • Owners, project managers, and team leads write across the project; developers write only the variables they hold a write grant for.
  • Keys you cannot write are skipped — push does not create approval requests.
  • Compares local and remote variables before applying changes.

envpilot request

Submit a request to create a new environment variable for review (developers only).

Arguments — [--project <name-or-id>]

❯terminal
envpilot request
envpilot request --project api
  • Only assigned developers can submit requests — owners, project managers, and team leads create variables directly.
  • Environment choices are limited to the developer's assigned environment scope.
  • An owner, project manager, or team lead must approve the request before the variable is created.

envpilot requests

List variable requests, or approve/reject/cancel them without leaving the terminal.

Arguments — [list] [--project <p>] [--status <s>] [--json] | approve <id> [--value <v>|--value-stdin] [--reason <t>] | reject <id> [--reason <t>] | cancel <id>

❯terminal
envpilot requests
envpilot requests --status pending
envpilot requests approve <id>
envpilot requests approve <id> --value sk_live_…
envpilot requests reject <id> --reason "use the shared key"
envpilot requests cancel <id>
  • Reviewers (owner, assigned project manager/team lead) see every request; developers see only their own.
  • --status/--json apply to listing only; --value/--value-stdin/--reason apply to review subcommands only.
  • Approving a machine (valueless) request prompts MASKED for the value; --value-stdin reads it from stdin for CI (keeps it out of argv), --value is a last resort that lands in shell history.
  • Get the <id> from the ID column of envpilot requests.

envpilot secrets

Change one secret without pull/edit/push. Two-step by default: key first, value prompted MASKED (never in shell history).

Arguments — set [<key>|<key=value>] [-e <env>] [-p <project>] [-d <text>] [--sensitive] [--all-envs] | rm <key> [-e <env>] [-p <project>] [--yes]

❯terminal
envpilot secrets set
envpilot secrets set STRIPE_SECRET_KEY --env production
envpilot secrets set API_URL=https://api.example.com
envpilot secrets rm OLD_FLAG --env staging --yes
  • Interactive by default: the key is validated first, then the value is prompted masked so it never lands in shell history — KEY=VALUE inline is for CI and prints a history warning.
  • Role-aware: direct-write roles set immediately; request-only roles are offered the request workflow instead (a reviewer approves with requests approve).
  • Plan limits are enforced server-side and reported readably; check envpilot usage for your tier.
  • set upserts one key in one environment (merge); updating a value shared across environments requires confirmation (--all-envs non-interactively).
  • rm on a single-environment secret moves it to trash (recoverable from the dashboard); on a shared secret it only removes THIS environment — the value stays live in the others.
  • envpilot var … still works as an alias.

envpilot run

Inject project secrets into a child process without writing a .env file (envpilot run -- bun dev).

Arguments — [--env <environment>] [--project <name-or-id>] [--keep-existing] [--print] -- <command> [args...]

❯terminal
envpilot run -- bun dev
envpilot run --env production -- node server.js
envpilot run --project api -- pnpm test
envpilot run --print
envpilot run --keep-existing -- bun dev
  • Use -- to separate envpilot flags from the command to execute.
  • Secrets override existing shell vars by default; pass --keep-existing to flip.
  • On Windows, the command is run through the shell so .cmd / .bat files resolve.
  • Signals (SIGINT, SIGTERM, SIGHUP, SIGQUIT) are forwarded to the child process.
  • Use --print to inspect what would be injected without executing anything.

envpilot list

List organizations, projects, variables, or linked projects from the terminal.

Arguments — [resource]

❯terminal
envpilot list
envpilot list projects
envpilot list variables
  • Default resource is projects.
  • Use linked to inspect local .envpilot project links.

envpilot list organizations

List organizations available to the current user.

❯terminal
envpilot list organizations
envpilot list orgs --json
  • Useful for discovering organization IDs and roles.

envpilot list projects

Browse projects in the active organization.

Arguments — [--organization <id>] [--json]

❯terminal
envpilot list projects
envpilot list projects --json
  • Shows project roles when available.
  • Useful for selecting project IDs for automation and scripts.

envpilot list variables

Inspect variables for a project with environment and tag filtering.

Arguments — [--project <id>] [--env <environment>] [--tag <name>]

❯terminal
envpilot list variables
envpilot list variables --env production --show-values
  • Values are masked by default.
  • Designed to mirror the web app’s searchable variable surface.

envpilot list linked

Show projects linked in the current directory.

❯terminal
envpilot list linked
  • Shows the active linked project and environment mapping.

envpilot switch

Switch the active organization, project, environment, or linked project.

Arguments — [--organization <id>] [--project <id>] [--env <environment>] [--active <name-or-id>]

❯terminal
envpilot switch --env production
envpilot switch --active api
  • Updates local CLI state without rewriting the whole project config.
  • Supports both linked projects and remote project lookup.

envpilot usage

Inspect current plan usage and feature availability for the active organization.

Arguments — [--organization <id>] [--json]

❯terminal
envpilot usage
envpilot usage --json
  • Shows project, member, and variable limits.
  • Useful for CLI feature-gate troubleshooting.

envpilot whoami

Show the authenticated user, API target, and current active CLI context.

❯terminal
envpilot whoami
  • Validates the current access token against the website.
  • Useful for debugging stale auth or wrong API URL targets.

envpilot accounts

List authenticated accounts and switch or remove them without logging out.

Arguments — [list|switch <identifier>|remove <identifier>]

❯terminal
envpilot accounts
envpilot accounts switch you@example.com
envpilot accounts remove you@example.com
  • Identifiers can be an account id or the account's email (case-insensitive).
  • Switching accounts does not log anyone out; use envpilot logout to remove the active session.

envpilot files

Manage secret files — keystores, SSH keys, certificates, and service-account JSON — that cannot live in a .env.

Arguments — [list|status|pull|add <file>|get <path>|rm <path>]

❯terminal
envpilot files list
envpilot files status
envpilot files pull
envpilot files add ./upload.jks --path android/app/upload.jks -e production
  • list and status are metadata-only: nothing is decrypted and no download is recorded.
  • pull refuses to overwrite a local file that differs from the server unless you pass --force.
  • Pulled paths are added to .gitignore before the files are written.
  • Every download of file contents is audited.

envpilot config

Inspect or update local CLI configuration such as the active API URL.

Arguments — [list|get|set|path|reset]

❯terminal
envpilot config
envpilot config path
  • Useful for local development against non-production API URLs.
  • Shows both global and project-level config paths.

envpilot logout

Revoke the current CLI session and clear local auth state.

❯terminal
envpilot logout
  • Best way to reset a stale CLI session cleanly.
  • Clears local tokens even if the revoke call fails.

envpilot unlink

Remove a linked project from the current directory without deleting local env files.

Arguments — [project] [--force]

❯terminal
envpilot unlink
envpilot unlink api --force
  • Updates .envpilot and active-project state.
  • Leaves existing .env files on disk.
← cliSecret files
cli →CLI in CI & troubleshooting

// on this page

  • Command details