Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.getinboxzero.com/llms.txt

Use this file to discover all available pages before exploring further.

For self-hosting, configure AI through environment variables in apps/web/.env. If you used inbox-zero setup, many of these values are configured automatically. Start here:
API keys require billing credits on the provider’s platform. A ChatGPT Plus or Claude Pro subscription does not include API access.

Providers

Use one of these values for *_LLM_PROVIDER:
ProviderValue
OpenAIopenai
Anthropicanthropic
Azure OpenAIazure
Google Gemini (AI Studio)google
Google Vertex AIvertex
OpenRouteropenrouter
Groqgroq
Vercel AI Gatewayaigateway
AWS Bedrockbedrock
Ollamaollama
OpenAI-compatible (LM Studio, vLLM, LiteLLM, etc.)openai-compatible
Codex CLI (experimental, self-host only)codex-cli
Claude Code (experimental, self-host only)claude-code

Tiers

For most self-hosted setups, configure these two tiers:
  • DEFAULT_LLM_* (required): primary model used for normal AI tasks.
  • ECONOMY_LLM_* (optional): lower-cost model for high-volume tasks. If unset, it falls back to DEFAULT.
Minimal example:
DEFAULT_LLM_PROVIDER=openai
DEFAULT_LLM_MODEL=gpt-4o

ECONOMY_LLM_PROVIDER=openai
ECONOMY_LLM_MODEL=gpt-4o-mini

LLM_API_KEY=sk-...
Provider-specific keys (for example OPENAI_API_KEY, ANTHROPIC_API_KEY) also work. See Environment Variables for the full list.

App Settings

The app also has Settings → AI for per-user keys/models, but self-hosted deployments usually keep configuration at the environment-variable level.

Sensitive Data Protection

Self-hosted deployments can choose how LLM requests handle sensitive data matches before they are sent to an AI provider. The current scanner targets likely credentials/tokens and payment-card-like numbers; it is not a full DLP or PHI classifier.
SENSITIVE_DATA_POLICY_DEFAULT=ALLOW # ALLOW, REDACT, or BLOCK
NEXT_PUBLIC_SENSITIVE_DATA_POLICY_LOCKED=false
ALLOW preserves the default behavior. REDACT replaces matched values before the LLM request. BLOCK stops the request when a match is found. Leave NEXT_PUBLIC_SENSITIVE_DATA_POLICY_LOCKED=false to let users choose per account in Settings, or set it to true to enforce the deployment default for all accounts and hide the setting from the UI.

Provider-specific details

  • openai-compatible also requires OPENAI_COMPATIBLE_BASE_URL.

CLI LLM providers

codex-cli and claude-code are experimental self-host options. They use third-party community AI SDK provider packages that spawn local CLI tools, so they are disabled unless CLI_LLM_ENABLED=true. Use them only on trusted self-hosted deployments. Review the provider package source, pin exact package versions, and make sure you comply with the relevant OpenAI or Anthropic terms for your authentication method. Codex example:
cd apps/web
pnpm add ai-sdk-provider-codex-cli@1.1.0
pnpm add -g @openai/codex
codex login
CLI_LLM_ENABLED=true
DEFAULT_LLM_PROVIDER=codex-cli
DEFAULT_LLM_MODEL=gpt-5.3-codex
CODEX_CLI_ALLOW_NPX=false
Claude Code example:
cd apps/web
pnpm add ai-sdk-provider-claude-code@3.1.0
claude auth login
CLI_LLM_ENABLED=true
DEFAULT_LLM_PROVIDER=claude-code
DEFAULT_LLM_MODEL=sonnet