Which process reads what. In library mode the site and the orchestrator
are the same process, so both columns land in one
.env.local. In a
standalone deployment they are separate environments and the variables go
where the table says.Model providers
At least one key is required for chat. Everything else in the editor — the preview, the property panel, click-to-select — works without one.
Keys are read at startup. Adding one to a running server does nothing until you
restart it — which is the most common reason a key looks ignored.
Model selection, per tier
Each provider resolves four tiers. Override any of them by name:
Also
ANTHROPIC_PROMPT_CACHE and ANTHROPIC_PROMPT_CACHE_TTL for prompt
caching, and OPENAI_VISION_MODEL / OPENAI_VISION_ALT_MODEL /
ANTHROPIC_VISION_ALT_MODEL for the models that read attached images. See
AI providers.
Images
Voice input
POST /audio/transcribe tries OpenAI first, then falls back to Gemini when
OpenAI fails or is over quota.
With neither provider available,
/status/planner reports
features.audioTranscription: false and the editor hides the microphone button.
Access and security
The full picture, including what is open and what is closed by default, is on security and access. The variables:The site
Read by your Next.js app through the SDK.
A mismatch between the editor’s draft secret and the site’s
DRAFT_MODE_SECRET
degrades to “the preview shows published content” rather than an error, which
is why it goes unnoticed. avocado-register warns about it.
Publishing
See publishing.
Persistence
Full detail on state and backups.Operations
Telemetry
See telemetry events and
token usage.
Chat pipeline flags
The chat pipeline reads about sixteenCHAT_* variables that tune the planner
rather than configure it — the parallel planner, the router head start, deferred
image resolution, streamed operation apply, auto-reasoning, adaptive schema
context. Defaults are tuned for responsiveness; turn them off individually
when debugging, not as a matter of course.
CHAT_PARALLEL_PLANNER · CHAT_ROUTER_HEAD_START_MS ·
CHAT_LLM_INTENT_ROUTER · CHAT_INCREMENTAL_APPLY ·
CHAT_STREAM_APPLY_MIN_STEP_MS · CHAT_AUTO_REASONING ·
CHAT_AUTO_REASONING_BUDGET · CHAT_ADAPTIVE_SCHEMA_CONTEXT ·
CHAT_SCHEMA_BUDGET_BYTES · CHAT_STRICT_JSON_RESPONSE ·
CHAT_STRICT_PRIMARY_OP_MODE · CHAT_PLANNER_FORCE_SONNET ·
CHAT_COMPACT_CONTEXT_EXPERIMENT · CHAT_MINIMAL_CONTEXT_EXPERIMENT
Jira
Only read when the Jira channel is configured.JIRA_BASE_URL · JIRA_USER_EMAIL · JIRA_API_TOKEN · JIRA_WEBHOOK_SECRET ·
JIRA_SITE_ID · JIRA_SESSION · JIRA_AGENT_ACCOUNT_ID ·
JIRA_TRIGGER_STATUS · JIRA_EXECUTE_STATUS · JIRA_PREVIEW_STATUS ·
JIRA_REVIEW_STATUS · JIRA_DONE_STATUS · JIRA_FAILED_STATUS ·
JIRA_AUTO_PUBLISH · JIRA_MAX_REVIEW_PASSES · JIRA_POLL_ENABLED ·
JIRA_POLL_INTERVAL_MS · JIRA_POLL_JQL
MCP server
See MCP server.
The editor CLI
The CLI reads these as an alternative to its flags — see CLI and packages.AVOCADO_ORCHESTRATOR_URL · AVOCADO_SITE_ORIGIN · AVOCADO_PUBLISH_TOKEN ·
DRAFT_MODE_SECRET · PORT