Eigon CLI
Deploy from your terminal.
Everything you can do in the dashboard, in one binary you can drop into a shell script. Trigger deploys, tail logs, flip feature flags and export Terraform with a single command.
The eigon CLI is the official command line tool for Eigon. It is a single statically linked Go binary, distributed via GitHub releases. No Node, no Python, no runtime dependencies. It works exactly the same on your laptop and inside a CI runner.
Install
One line install (recommended)
curl -sSL https://eigon.io/install.sh | shThe script detects your operating system and architecture, downloads the right binary from the latest GitHub release, and drops it into /usr/local/bin/eigon. It will ask for sudo if it cannot write to that directory.
You can pin to a specific version or change the install location with environment variables:
# Pin to v0.7.1
curl -sSL https://eigon.io/install.sh | EIGON_VERSION=v0.7.1 sh
# Install to a directory you own (no sudo needed)
curl -sSL https://eigon.io/install.sh | EIGON_INSTALL_DIR=$HOME/bin shVerify the install
eigon versionAuthenticate
The CLI uses API tokens, not passwords. Each token is scoped, revocable and tied to a specific user. Tokens never expire unless you tell them to.
- Go to Account → Tokens in the dashboard.
- Click New token. Give it a name like
laptoporgithub-actions. - Pick the scopes you need (read, deploy, admin). Most workflows only need read and deploy.
- Copy the token immediately. It will never be shown again. Tokens look like
eigon_ab12cd_....
Then run the login command and paste the token when prompted:
eigon loginYour token is saved at ~/.eigon/config.json with 0600 permissions. To check who you are signed in as:
eigon whoamiYou can also skip eigon login entirely by exporting the token as an environment variable. This is the right pattern for CI:
export EIGON_TOKEN=eigon_ab12cd_xxxxxxxxxxxxxxxxxxxxxxYour first deploy
Once you have at least one project and one environment in the dashboard, you can deploy from the terminal. List your projects to find the environment ID you want to target:
$ eigon projects list
NAME SOURCE REPO
chandigarh-table github ayush/chandigarh-table @ main
landing-page zip (uploaded ZIP)
api-service github myorg/api @ mainFind the environment ID at the top of any environment page in the dashboard. It looks like env_abc123. Trigger a deploy:
$ eigon deploy --env env_abc123
✓ Deploy queued: dep_xyz789
Watch progress: https://eigon.io/dashboard/deployments/dep_xyz789Tail the logs while it deploys:
eigon logs --env env_abc123 --tailWhen the deploy is done, check the live URL and current status:
$ eigon status --env env_abc123
Status: ACTIVE
Monthly cost: $14.20
App URL: https://chandigarh-table.eigon.app
Latest deploy: dep_xyz789 (SUCCEEDED)Command reference
Run eigon help at any time for the full list. The most useful ones:
eigon login
Interactive token paste. Saves the token to ~/.eigon/config.json.
eigon whoami
Calls the API and prints the user and organisation associated with the current token. Useful for confirming a CI token actually works.
eigon projects list
Lists every project the current token can see, with source type and repository or upload origin.
eigon deploy --env <id>
Triggers a deploy on the given environment using the latest code. Returns the deployment ID immediately. The deploy continues in the background and you can follow it via eigon status or in the dashboard.
eigon status --env <id>
Shows the current status of an environment: state, month to date cost, live URL, and the latest deployment plus its status.
eigon logs --env <id> [--tail]
Prints the most recent application logs. With --tail, follows new log lines as they arrive (poll based, every 2 seconds). Press Ctrl+C to stop.
eigon flags list --env <id>
Lists every feature flag in an environment.
eigon flags set key=value --env <id>
Updates a feature flag value. Useful for dark launches and emergency kill switches you want to be able to flip from a script.
eigon export-tf --env <id> --org <id> --project <id>
Downloads a Terraform module covering the entire environment: network, compute, database, cache, CDN and WAF. The bundle is ready to apply against your own AWS account. This is how you take your infrastructure with you if you ever decide to leave Eigon.
eigon version
Prints the installed CLI version. Useful when filing bug reports.
Use it from CI
The official GitHub Action wraps the CLI with a single composite step. Drop this in .github/workflows/deploy.yml and add EIGON_TOKEN as a repository secret.
name: Deploy to Eigon
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ayushcodes10/eigon-cli/cli/github-action@v1
with:
token: ${{ secrets.EIGON_TOKEN }}
environment: env_REPLACE_ME
wait: trueThe action installs the CLI, triggers the deploy, then polls until the environment reaches a terminal state. If the deploy fails or hits its spending cap, the workflow fails with a clear error and a link back to the dashboard.
Prefer to call the CLI directly? Any other CI system works too. The shape is the same: install, set the token, run a command.
# GitLab CI / CircleCI / Buildkite / Bash one-liner
curl -sSL https://eigon.io/install.sh | sh
export EIGON_TOKEN=$EIGON_TOKEN
eigon deploy --env env_abc123Configuration
Configuration is read from environment variables first, then from ~/.eigon/config.json as a fallback. Environment variables always win, which makes CI predictable.
| Variable | Description |
|---|---|
| EIGON_TOKEN | API token. When set, login is skipped entirely. |
| EIGON_API_BASE | API base URL. Defaults to https://api.eigon.io. Override only if you are pointing at a self hosted control plane. |
| EIGON_INSTALL_DIR | Used by the install script. Default /usr/local/bin. |
| EIGON_VERSION | Used by the install script to pin a specific version. Default latest. |
The config file at ~/.eigon/config.json looks like this:
{
"token": "eigon_ab12cd_xxxxxxxxxxxxxxxxxxxxxx",
"api_base": "https://api.eigon.io",
"default_org": "org_abc123"
}Uninstall
Removing the CLI is the inverse of installing it. Delete the binary and drop the config directory.
sudo rm /usr/local/bin/eigon
rm -rf ~/.eigonYou should also revoke any API tokens you no longer want. Visit Account → Tokens and click Revoke.
Troubleshooting
eigon: command not found
The install directory is not on your PATH. Either add it (most shells already include /usr/local/bin) or reinstall with EIGON_INSTALL_DIR set to a directory that is.
not authenticated. Run `eigon login`.
Your token is missing or expired. Run eigon login again, or export EIGON_TOKEN in your shell.
invalid api token
The token has been revoked, or you copied the wrong one. Create a fresh token at Account → Tokens and run eigon login again.
Deploy fails with BLOCKED_BY_CAP
The environment has hit its monthly spending cap. Either raise the cap from the dashboard, or wait for the next month to roll over. Spending caps are a built in protection so you do not get a surprise bill.
eigon logs --tail stops after a few minutes
Tail mode polls every two seconds. If the underlying connection is dropped (idle CI runner, sleeping laptop) it stops. Restart the command and it will pick up from the most recent timestamp.
Still stuck?
Email info@eigon.io with the command you ran and the output you got. We answer every message and we keep CLI bug reports near the top of the queue.
Ready to deploy from your terminal?
Install the CLI in 30 seconds and trigger your first deploy.
