# Required: protects /v1/* endpoints. API_TOKEN=change-me # --- OAuth subscription plans (Claude Code, OpenAI Codex) --- # No API key needed. Log in on the HOST (Claude Code + `codex`), then mount the # host credential dirs read-write (see docker-compose.yml). The container runs as # uid 1000 (the node user) so it can read/refresh your ~/.claude and ~/.codex files. CODEXBAR_OAUTH_PROVIDERS=claude,codex # --- API-key providers (optional; only set the ones you use) --- # NOTE: Gemini is NOT an API-key provider for codexbar — it rejects API keys # ("gemini does not support config API keys"). Gemini usage comes only from the # Gemini CLI OAuth login (Code Assist): run `gemini` on the host and mount # ~/.gemini into the container. A GEMINI_API_KEY (inference key) is not used here. GEMINI_API_KEY= ZAI_API_KEY= # API-billing accounts (alternative to OAuth for codex/claude): to use these, # remove the provider from CODEXBAR_OAUTH_PROVIDERS above. OPENAI_ADMIN_KEY= ANTHROPIC_ADMIN_KEY= # Optional tuning. PORT=3000 CACHE_TTL_SECONDS=300 EXEC_TIMEOUT_MS=30000 CODEXBAR_PROVIDERS=codex,claude,gemini,z.ai