Every tunable in Company Agents is available as an environment variable. The defaults are sensible for desktop, and you only reach for this page when you are moving to a shape that needs something custom. Variables are grouped by concern. The “needed?” column is the honest answer for a production deployment; development rarely needs any of these because the defaults cover it.

Instance

VariableDefaultNeeded in production?
COMPANY_AGENTS_HOME~/.company-agents/instances/defaultYes, if you want the data anywhere other than the home directory
COMPANY_AGENTS_INSTANCE_IDdefaultNo, unless you run multiple instances on one host
NODE_ENVdevelopmentYes, set to production

Ports and network

VariableDefaultNotes
DASHBOARD_HOST127.0.0.1Set to 0.0.0.0 for network access
DASHBOARD_PORT3101
ORCHESTRATOR_PORT3100Internal API; usually bound to loopback
MCP_SERVER_PORT4200Where agent adapters connect
DASHBOARD_SCHEMEhttpSet to https when terminating TLS in-process
TLS_CERT_PATH(unset)Path to TLS cert for https scheme
TLS_KEY_PATH(unset)Path to TLS key

Database

VariableDefaultNotes
DATABASE_URL(unset; uses PGlite)Set to a Postgres URL to use real Postgres
DATABASE_POOL_MIN2Connection pool minimum
DATABASE_POOL_MAX10Connection pool maximum
DATABASE_SSLfalseSet to true for managed Postgres
PGLITE_PATH$COMPANY_AGENTS_HOME/dbWhere PGlite writes data

Secrets and master key

VariableDefaultNotes
MASTER_KEY_PATH$COMPANY_AGENTS_HOME/secrets/master.keyDefault file path
MASTER_KEY_SOURCEfile://$MASTER_KEY_PATHUse a secret manager URI for production
SECRET_STORE_ALGORITHMaes-256-gcmDo not change unless you have a very good reason

Storage paths

VariableDefaultNotes
STORAGE_PATH$COMPANY_AGENTS_HOME/data/storageUser-uploaded files
BACKUP_PATH$COMPANY_AGENTS_HOME/data/backupsScheduled backups
RUNTIME_SERVICES_PATH~/.company-agents/runtime-servicesPer-run service state
LOG_PATH$COMPANY_AGENTS_HOME/logsOrchestrator logs
LOG_RETENTION_DAYS30How long to keep rotated logs

LLM providers

The Vercel AI SDK selects the provider at runtime based on LLM_PROVIDER. The corresponding API key env var must be set for the provider you pick.
VariableDefaultNotes
LLM_PROVIDERdeepseekanthropic, openai, google, deepseek, mistral, etc.
ANTHROPIC_API_KEY(unset)If using Anthropic
OPENAI_API_KEY(unset)If using OpenAI
GOOGLE_GENERATIVE_AI_API_KEY(unset)If using Google
DEEPSEEK_API_KEY(unset)If using Deepseek
MISTRAL_API_KEY(unset)If using Mistral
LLM_BASE_URL(unset)Override for proxies (OpenRouter, etc.)

Budgets and safety

VariableDefaultNotes
DEFAULT_TASK_BUDGET_USD1.50Per-task ceiling default
DEFAULT_LOOP_BUDGET_CALLS100Per-loop tool call ceiling
APPROVAL_TIMEOUT_MINUTES240Default approval expiry
BREACH_KILL_FACTOR5Catastrophic breach multiplier
LEASE_TTL_SECONDS300Default lease window
LEASE_RENEWAL_FRACTION0.6Renew at 60% of window

Adapters

Adapters are configured per-adapter via their own env vars. The common ones:
VariableDefaultNotes
CLAUDE_CODE_BINclaudePath to Claude Code binary
CODEX_BINcodexPath to Codex binary
GEMINI_BINgeminiPath to Gemini CLI binary
CURSOR_BINcursor-agentPath to Cursor agent binary
OPENCLAW_BINopenclawPath to OpenClaw binary
MCP_SERVER_URLhttp://localhost:4200Where adapters find the MCP server

Logging and observability

VariableDefaultNotes
LOG_LEVELinfodebug, info, warn, error
LOG_FORMATprettypretty or json (use json in production)
OTEL_EXPORTER_OTLP_ENDPOINT(unset)Enable OpenTelemetry export
OTEL_SERVICE_NAMEcompany-agentsService name in traces

Development-only

These are meant for local dev and should not be set in production:
VariableDefaultNotes
DEV_DISABLE_AUTHfalseSkip dashboard auth entirely; never in prod
DEV_FAKE_COSTSfalseReturn pretend cost numbers instead of real ones
DEV_ALLOW_INSECURE_MASTER_KEYfalseAllow world-readable master key file

Marketing and docs

These have nothing to do with the orchestrator, but they are in the same repo and may show up in .env.local:
VariableDefaultNotes
NEXT_PUBLIC_SITE_URLhttps://agents.salesteams.aiMarketing site canonical URL
NEXT_PUBLIC_DOCS_URLhttps://docs.salesteams.aiDocs canonical URL

Reading order

If you are new to configuring a production deployment, read these in order:
  1. Overview to pick a shape
  2. Storage for the directory layout
  3. Database for PGlite vs. real Postgres
  4. Secrets for the master key story
  5. This page, as you go, to find the specific var you need
For desktop, the defaults are fine and you can skip this page entirely.