CommandoCommando
Reference

Environment Variables

Every CMDO_*, OPENAI_*, OPENROUTER_* variable Commando reads, with defaults.

Environment Variables

All variables are read at process start. There is no live reload — change the env, then re-run cmdo.

Installer

VariableDefaultPurpose
CMDO_SKIP_BOOTSTRAPunsetAny non-empty value other than 0 / false skips the postinstall download. Use cmdo bootstrap later.
CMDO_DOWNLOAD_CONCURRENCY3Parallel downloads during bootstrap. Lower on flaky networks.
CMDO_DOWNLOAD_IDLE_MS120000Per-chunk idle timeout in milliseconds. Increase for slow links.
CMDO_DOWNLOAD_RETRIES3Attempts per file before giving up.

Optional R2 manifest mirror (Windows only)

The R2 path is off by default. Set both vars to enable. When either is missing, the install falls back to GitHub-direct.

VariableDefaultPurpose
CMDO_MANIFEST_URLunsetFull URL to the manifest JSON in R2 (or any compatible mirror).
CMDO_R2_TOKENunsetBearer/header token the worker accepts.

No secret is shipped inside the npm tarball — both halves must come from the operator's environment. See Installation for the security rationale.

LLM provider

Env vars override the values stored by cmdo init in ~/.commando/config.json.

OpenAI

VariableDefaultPurpose
OPENAI_API_KEYunsetRequired if provider is OpenAI and no config file exists.
OPENAI_MODELgpt-4o-miniOverride the model. Any string accepted by the OpenAI API.

OpenRouter

VariableDefaultPurpose
OPENROUTER_API_KEYunsetRequired if provider is OpenRouter and no config file exists.
OPENROUTER_MODELz-ai/glm-4.5-air:freeOverride the model. Any string accepted by OpenRouter.

Planner

VariableDefaultPurpose
CMDO_LLM_MOCK0Set to 1 to bypass the LLM and use the deterministic regex-based mock planner. Useful for offline demos and CI.

Logging

VariableDefaultPurpose
CMDO_LOG_LEVELinfoOne of debug, info, warn, error. debug adds raw LLM input/output and validator decisions.
NO_COLORunsetStandard env: any non-empty value disables ANSI colors.

Examples

CI build that defers the binary download

CMDO_SKIP_BOOTSTRAP=1 npm install -g sui-commando@beta
# ... later, only on the runner that needs the CLIs:
cmdo bootstrap

Air-gapped install pulling from a private R2 mirror

# Windows PowerShell
$env:CMDO_MANIFEST_URL = "https://r2.internal/object?key=manifests/commando-0.2.4-beta.json"
$env:CMDO_R2_TOKEN     = "<bearer-token-the-worker-accepts>"
npm install -g sui-commando@beta

Prefer env-only LLM setup (no cmdo init)

export OPENROUTER_API_KEY=sk-or-...
export OPENROUTER_MODEL=anthropic/claude-3.5-sonnet
cmdo "show walrus info" --walrus

Offline hackathon demo

CMDO_LLM_MOCK=1 cmdo "show sui client active address" --sui

How is this guide?

On this page