Getting started
From zero to your first envhq push, in the web app and the terminal.
1. Create an account
Go to the sign-up page and create an account. Authentication is handled by Clerk (email/password or supported social logins, depending on how the deployment is configured).
2. Create your first project
From the Dashboard, click New project and give it a name. A dev environment is created for you automatically — you can add more environments (e.g. staging, prod) at any time.
3. Add variables
Open an environment and either:
- add keys and values one at a time in the editor, or
- use
Paste .envto bulk-import a whole file — existing keys are updated, new keys are added (an upsert-merge; nothing already there is removed by an import).
Values are shown masked by default; use the reveal toggle to view one, or Copy all as .env to copy the whole environment back out.
4. Install the CLI
npm install -g envhq
# or run it without installing:
npx envhq <command>Requires Node.js ≥ 20. You never need to know a server URL — it's baked into the CLI build.
5. Log in from the terminal
envhq loginThis opens your browser, asks you to approve the request while signed in to EnvHQ, and hands a token back to the CLI automatically — nothing to copy-paste. The token is stored in your OS keychain, not as a plaintext file, and is valid for 7 days (the CLI will transparently prompt you to re-authenticate after that).
Settings → CLI Tokens and pass it with envhq login --token <token> or set the ENVHQ_TOKEN environment variable instead.6. Link a project folder
In your project's local folder, either bootstrap a brand-new project or link to one that already exists:
# Option A — create a new project + link this folder in one step
envhq init # defaults the project name to the folder name
envhq init my-api --env dev,staging
# Option B — link this folder to an existing project
envhq link # pick a project, map every environment to a local fileLinking writes a .envhq/ config folder (added to .gitignore automatically) that maps each environment to a local file — by default dev → .env, others → .env.<name>.
7. Push and pull
envhq push # upload the linked default environment's file
envhq push staging # upload a specific environment
envhq pull --all # write every linked environment to its mapped filePushing to an environment named prod or production asks for confirmation unless you pass --yes.
- Read the full CLI reference for every command and flag.
- Read the security model before storing anything sensitive — EnvHQ is a free tool with real limitations today.