Skip to content

Configuration

Openbase CLI reads configuration from environment variables (usually loaded from ~/.openbase/.env).

Most day-to-day settings do not require editing this file: the desktop app and console Settings page cover backend, model, reasoning, voice providers, and environment variables, and the iOS app covers phone-side settings such as backend host and call audio. This page is the underlying reference.

Core Variables

Variable Required Default Purpose
OPENBASE_CODER_CLI_SECRET_KEY Yes none Django secret key
OPENBASE_CODER_CLI_API_TOKEN Yes none Static bearer token auth
OPENBASE_CODER_CLI_WEB_BACKEND_URL No https://app.openbase.cloud JWT/JWKS source + login endpoints
OPENBASE_CODER_CLI_JWT_JWKS_URL No <WEB_BACKEND_URL>/.well-known/jwks.json JWKS URL for local JWT signature validation
OPENBASE_CODER_CLI_JWT_AUTH_SESSION_URL No <WEB_BACKEND_URL>/_allauth/app/v1/auth/session Fallback endpoint to validate JWTs remotely
OPENBASE_CODER_CLI_JWT_ISSUER No WEB_BACKEND_URL Expected JWT issuer
OPENBASE_CODER_CLI_JWT_AUDIENCE No openbase-coder-cli Expected JWT audience
OPENBASE_CODER_CLI_ALLOWED_HOSTS No localhost,127.0.0.1 Django allowed hosts
OPENBASE_CODER_CLI_CORS_ORIGINS No http://localhost:8080,http://127.0.0.1:8080 CORS allowlist
OPENBASE_CODER_CLI_DATA_DIR No ~/.openbase Data root (DB, static, logs, etc.)
OPENBASE_CODER_CLI_CONSOLE_BUILD_DIR No inferred from install config Console dist directory
CODEX_MODEL No gpt-5.5 Codex app-server model
CODEX_MODEL_REASONING_EFFORT No high Codex app-server reasoning effort
CODEX_SERVICE_TIER No standard Codex app-server service tier
OPENBASE_CODING_BACKEND No codex from new setup env files codex, openbase_cloud, or claude_code backend
OPENBASE_CLOUD_LLM_BASE_URL No <WEB_BACKEND_URL>/api/openbase/llm/openai/v1 Openbase Cloud Responses-compatible proxy base URL
OPENBASE_CLOUD_CODEX_MODEL No openbase-codex Model name used by the Openbase Cloud backend

Dispatcher Config

Openbase runtime settings that are shared by LiveKit, CLI commands, and MCP tools live in ~/.openbase/dispatcher-config.json.

Useful keys:

Key Purpose
dispatcher_reasoning_effort Default dispatcher reasoning effort
super_agents_reasoning_effort Default Super Agents reasoning effort
backend_models Backend-specific default dispatcher and default Super Agents models for codex, openbase_cloud, and claude_code

Agent/Voice Variables

Variable Required Purpose
LIVEKIT_API_KEY Yes LiveKit server auth
LIVEKIT_API_SECRET Yes LiveKit server auth
LIVEKIT_URL Yes LiveKit websocket URL
CODEX_APP_SERVER_URL Yes Codex app-server websocket URL
LIVEKIT_CODEX_THREAD_CWD Yes Shared Codex thread working directory
ASSEMBLY_AI_API_KEY Optional Speech-to-text provider
CARTESIA_API_KEY Optional Text-to-speech provider
CARTESIA_VOICE_ID Optional Text-to-speech voice ID
OPENBASE_CODER_TTS_REPLACEMENTS_PATH Optional Override the editable TTS replacements file path

TTS Replacements

Openbase Coder formats spoken text before sending it to Cartesia. Built-in pronunciation defaults cover common acronyms such as AWS, API, TTS, and LLM.

To add or override pronunciations without rebuilding or restarting Openbase or the voice process, edit:

~/.openbase/tts-replacements.json

The formatter checks this file on each TTS formatting pass and reloads it when the path, modification time, or size changes. The file is optional. If it is missing or invalid, Openbase Coder keeps using built-in defaults.

Example:

{
  "acronyms": ["MCP"],
  "replacements": {
    "OpenAI": "Open A I",
    "foobarbaz": "foo bar baz"
  }
}

acronyms are spoken letter by letter and are matched case-insensitively. replacements and term_pronunciations are exact term-to-pronunciation maps.

Auth Modes

All protected API routes support either:

  1. Static token auth: Authorization: Bearer <OPENBASE_CODER_CLI_API_TOKEN>
  2. JWT auth: RS256 JWT validated against OPENBASE_CODER_CLI_JWT_JWKS_URL (with fallback validation against OPENBASE_CODER_CLI_JWT_AUTH_SESSION_URL)

WebSocket auth accepts ?token= in query string with either the static token or JWT.