Skip to content

AUTO-GENERATED by bun run docs:env. Do not edit by hand — regenerate after changing the EnvSchema in src/config/env.ts.

Every variable recognised by protoWorkstacean is declared in the zod EnvSchema in src/config/env.ts. The schema is .strict(): at boot, parseEnv() rejects unknown schema-shaped keys. All declared vars are optional strings — the system degrades gracefully when an integration is unconfigured.

Summary

  • 61 variables declared in EnvSchema
  • 0 required (no .optional()); the rest are optional
  • 34 variable(s) read via process.env at runtime but not in EnvSchema (see Read directly (not in EnvSchema))

Core / runtime

VariableRequired?Description
DATA_DIRoptional
DEBUGoptionalSet to "1" or "true" for verbose debug logging.
DISABLE_EVENT_VIEWERoptional
ENABLED_PLUGINSoptional
PORToptionalUsed by EventViewerPlugin when it manages its own port.
TZoptionalTimezone for cron schedule evaluation.
WORKSPACE_DIRoptional
WORKSTACEAN_API_KEYoptional
WORKSTACEAN_BASE_URLoptionalPublic URL of workstacean API — used by A2A push-notification webhooks (e.g. http://workstacean:3000).
WORKSTACEAN_HTTP_PORToptional
WORKSTACEAN_INTERNAL_HOSToptionalDocker-network hostname to advertise in the A2A agent card when WORKSTACEAN_PUBLIC_BASE_URL is unset. Defaults to workstacean.
WORKSTACEAN_PUBLIC_BASE_URLoptionalCanonical externally-reachable base URL advertised in the A2A agent card (e.g. https://ava.proto-labs.ai). When set, the card's url becomes ${WORKSTACEAN_PUBLIC_BASE_URL}/a2a.
WORKSTACEAN_PUBLIC_URLoptional
WORKSTACEAN_URLoptional

LLM gateway

VariableRequired?Description
ANTHROPIC_API_KEYoptional
LLM_GATEWAY_URLoptional
OPENAI_API_KEYoptional

Router

VariableRequired?Description
DISABLE_ROUTERoptional
ROUTER_DEFAULT_SKILLoptional
ROUTER_DM_DEFAULT_AGENToptional
ROUTER_DM_DEFAULT_SKILLoptional

Observability (Langfuse)

VariableRequired?Description
LANGFUSE_BASE_URLoptionalAlternative alias for LANGFUSE_HOST (legacy).
LANGFUSE_HOSToptionalPrimary Langfuse host — used by LangfuseLogger and ConversationTracer.
LANGFUSE_PUBLIC_KEYoptional
LANGFUSE_SECRET_KEYoptional

A2A / protoMaker

VariableRequired?Description
AVA_API_KEYoptional
AVA_BASE_URLoptional

Discord

VariableRequired?Description
DISCORD_BOT_TOKENoptional
DISCORD_BUDGET_WEBHOOK_URLoptional
DISCORD_CEREMONY_WEBHOOK_URLoptional
DISCORD_DIGEST_CHANNELoptional
DISCORD_GOALS_WEBHOOK_URLoptional
DISCORD_GUILD_IDoptional
DISCORD_OPS_WEBHOOK_URLoptional
DISCORD_WEBHOOK_ALERTSoptionalGeneral-purpose alert webhook (world-engine-alert, fallback).
DISCORD_WELCOME_CHANNELoptional
DM_CONVERSATION_TIMEOUT_MSoptionalIdle timeout (ms) before a DM conversation session expires (default: 15 min).
DM_DEBOUNCE_MSoptionalSliding-window debounce (ms) for batching rapid-fire DMs (default: 3000).
MAILBOX_TTL_MSoptionalTTL (ms) for pending mailbox messages before they're swept (default: 10 min).

GitHub

VariableRequired?Description
GITHUB_APP_IDoptionalGitHub App credentials — the agent's reviews/comments/issue-closes post as the App's bot identity.
GITHUB_APP_PRIVATE_KEYoptional
GITHUB_TOKENoptional
GITHUB_WEBHOOK_PORToptional
GITHUB_WEBHOOK_SECREToptional

Linear

VariableRequired?Description
LINEAR_API_KEYoptional
LINEAR_AVA_CLIENT_IDoptional
LINEAR_AVA_CLIENT_SECREToptional
LINEAR_AVA_REDIRECT_URIoptional
LINEAR_AVA_SCOPESoptionalComma-separated OAuth scopes. Default covers read/write + agent app actor.
LINEAR_WEBHOOK_PORToptional
LINEAR_WEBHOOK_SECREToptional

Google Workspace

VariableRequired?Description
GOOGLE_CLIENT_IDoptional
GOOGLE_CLIENT_SECREToptional
GOOGLE_REFRESH_TOKENoptional

Vector memory

VariableRequired?Description
QDRANT_URLoptional
QDRANT_VECTOR_SIZEoptional
REDIS_URLoptional

Signal

VariableRequired?Description
SIGNAL_NUMBERoptional
SIGNAL_URLoptional

Other

VariableRequired?Description
EMBED_MODELoptional
PR_REMEDIATOR_AUTO_MERGEoptional

Read directly (not in EnvSchema)

These variables are read via process.env somewhere in src/ or lib/ but are not declared in EnvSchema. Because the schema is .strict(), they bypass boot-time validation — they work, but they're outside the typed contract. Either add them to EnvSchema or treat this list as the known contract gap.

VariableRead at
A2A_CHAT_REPLY_TIMEOUT_MSsrc/api/ava-tools.ts
A2A_INPUT_REQUIRED_TTL_MSsrc/api/human-input.ts
A2A_STREAM_HEARTBEAT_MSsrc/api/a2a-server.ts
AGENT_RUN_BUDGET_MSsrc/executor/executors/deep-agent-executor.ts
CLAWPATCH_CHECKOUT_ROOTlib/checkout-cache.ts
CLAWPATCH_REPO_PATH_MAPsrc/api/clawpatch.ts
CLAWPATCH_STATE_ROOTsrc/api/clawpatch.ts
CREATE_ISSUE_DEDUP_DISABLEDsrc/api/github.ts
CREATE_ISSUE_DEDUP_WINDOW_MSsrc/api/github.ts
DEEP_AGENT_CHAT_POLL_INTERVAL_MSsrc/executor/executors/deep-agent-executor.ts
DISCORD_AGENT_OPS_CHANNELsrc/api/ava-tools.ts, src/plugins/skill-broker-plugin.ts
LINEAR_PROTO_BRIDGE_LABELlib/plugins/linear-proto-bridge.ts
LLM_GATEWAY_TIMEOUT_MSsrc/executor/executors/deep-agent-executor.ts
LLM_MAX_RETRIESsrc/executor/executors/deep-agent-executor.ts
LOGGER_EVENTS_RETENTION_MSlib/plugins/logger.ts
MEMORY_HARVEST_MAX_AGE_DAYSsrc/agent-runtime/agent-runtime-plugin.ts
MEMORY_HARVEST_SWEEP_HOURSsrc/agent-runtime/agent-runtime-plugin.ts
MEMORY_SUMMARY_MODELsrc/agent-runtime/agent-runtime-plugin.ts
OPENAI_BASE_URLsrc/agent-runtime/agent-runtime-plugin.ts, src/executor/executors/deep-agent-executor.ts, src/services/embeddings/gateway-embed.ts
PROJECT_REGISTRY_URLsrc/plugins/project-registry.ts
PROTOLABS_AGENTS_JSONsrc/plugins/skill-broker-plugin.ts
QUINN_DISCORD_TOKENlib/types/channels.ts
RESEARCH_EMBED_DIMsrc/knowledge/research-store.ts
RESEARCH_EMBED_MODELsrc/services/embeddings/gateway-embed.ts
RESEARCH_FEED_CHANNEL_IDsrc/executor/executors/deep-agent-executor.ts
SEARXNG_URLsrc/executor/executors/deep-agent-executor.ts
WORKSTACEAN_AGENT_BOT_LOGINSlib/plugins/github.ts
WORKSTACEAN_DISPATCH_DROP_ESCALATION_COOLDOWN_MSsrc/plugins/dispatch-drop-escalator-plugin.ts
WORKSTACEAN_DISPATCH_DROP_THRESHOLDsrc/plugins/dispatch-drop-escalator-plugin.ts
WORKSTACEAN_DISPATCH_DROP_WINDOW_MSsrc/plugins/dispatch-drop-escalator-plugin.ts
WORKSTACEAN_FLEET_ALERT_COOLDOWN_MSsrc/plugins/fleet-alerts-evaluator-plugin.ts
WORKSTACEAN_FLEET_DAILY_BUDGET_USDsrc/plugins/fleet-alerts-evaluator-plugin.ts
WORKSTACEAN_FLEET_FAILURE_RATE_THRESHOLDsrc/plugins/fleet-alerts-evaluator-plugin.ts
WORKSTACEAN_INTERNAL_BASE_URLsrc/executor/skill-dispatcher-plugin.ts

protoWorkstacean — a switchboard, not an agent.