OpenClaw Changelog Intelligence
Changelog
- 2026-03-20: Created from full CHANGELOG.md analysis (versions 2026.1.5 → 2026.3.14/Unreleased)
Version History Summary
Unreleased (Next after 2026.3.13)
Key New Features:
sessions_yieldfor orchestrators to end turn immediately with hidden follow-up payloadtalk.silenceTimeoutMsconfig for Talk mode auto-send thresholdcron sessionTarget: "current"andsession:<id>support- Dashboard v2 (modular overview, chat, config, agent, session views; command palette)
- Fast mode toggles (
/fast,params.fastMode) for OpenAI GPT-5.4 and Anthropic Claude - Ollama, vLLM, SGLang moved to provider-plugin architecture
- OpenAI Responses WebSocket as default transport
- Kubernetes starter deployment with K8s manifests
browser.profiles.<name>.userDataDirfor attaching to existing Chromium browserschannels.telegram.silentErrorRepliesconfig (default off)browser.profiles.<name>.driver: "openclaw"accepted (with legacy"clawd"alias)- Health monitor with per-channel and per-account
healthMonitor.enabledoverrides Telegram/--force-documentfor uploading images as documents- Android dark theme for onboarding
plugins.entries.<id>.hooks.allowPromptInjectionconfig
Breaking Changes in Unreleased:
nano-banana-probundled skill removed → useagents.defaults.imageGenerationModel.primary- Chrome extension relay path removed;
driver: "extension"andbrowser.relayBindHostremoved → runopenclaw doctor --fixto migrate openclaw/extension-apipublic surface removed; useopenclaw/plugin-sdk/*subpathsChannelMessageActionAdapter.describeMessageTool(...)required for sharedmessagetool;listActions,getCapabilities,getToolSchemaremoved- Build-tool JVM injection env vars blocked from host exec (
MAVEN_OPTS,SBT_OPTS,GRADLE_OPTS,ANT_OPTS,GLIBC_TUNABLES,DOTNET_ADDITIONAL_DEPS)
2026.3.13 (Current stable - our version)
Key Features:
- Android chat settings redesign
- iOS first-run welcome pager
Browser/existing-sessionChrome DevTools MCP attach mode- Built-in browser
profile="user"andprofile="chrome-relay" OPENCLAW_TZenv var for Docker timezone pinning- Cron
sessionTarget: "current"andsession:<id>support - Telegram
--force-documentfor image/GIF sends agents.defaults.compaction.postIndexSyncconfig for post-compaction memory reindexingagents.defaults.memorySearch.sync.sessions.postCompactionForceconfig
Breaking Changes in 2026.3.13:
- BREAKING: Agents now load at most one root memory bootstrap file.
MEMORY.mdwins;memory.mdonly used whenMEMORY.mdis absent. If you had both files, merge before upgrade. Also fixes duplicate memory injection on case-insensitive Docker mounts.
Security Fixes:
- Bootstrap setup codes now single-use (prevents silent replay/widening to admin)
- Zero-width/soft-hyphen marker-splitting bypass blocked
- Multiple exec approval hardening fixes
- Telegram webhook secret validated before reading request body
- Telegram file URL redaction from error logs
2026.3.12
Key Features:
- Dashboard v2 Control UI with modular overview, chat, config, agent, session views
- Command palette, mobile bottom tabs, slash commands, search, export, pinned messages
- OpenAI GPT-5.4 fast mode with
/fasttoggle andparams.fastMode - Anthropic Claude fast mode (maps to
service_tierAPI parameter) - Ollama, vLLM, SGLang moved to provider-plugin architecture
sessions_yieldtool for orchestrators- Slack Block Kit messages via
channelData.slack.blocks channels.slack.capabilities.interactiveReplies(disabled by default)- Short-lived bootstrap tokens for
/pairandopenclaw qrsetup codes
Security Fixes:
- Device pairing setup codes switched to short-lived bootstrap tokens
- Implicit workspace plugin auto-load disabled (GHSA-99qw-6mr3-36qr)
2026.3.11
Key Features:
- iOS Home canvas with live agent overview
- macOS chat model picker with thinking-level persistence
- Ollama first-class setup with Local / Cloud + Local modes
- OpenCode Go provider added
- Multi-modal image and audio indexing for
memorySearch.extraPaths - Gemini
gemini-embedding-2-previewmemory search support channels.discord.autoArchiveDurationfor auto-created threads- ACP
sessions_spawnwithresumeSessionIdfor resuming existing conversations Exec/child commands: OPENCLAW_CLIenv marker for subprocesses
Breaking Changes in 2026.3.11:
- Cron/doctor: tighten isolated cron delivery so cron jobs can no longer notify through ad hoc agent sends or fallback main-session summaries
Security Fixes:
- Gateway/WebSocket: browser origin validation enforced for all browser-originated connections (GHSA-5wcw-8jjv-m286) — critical: could grant untrusted origins
operator.admin
2026.3.8
Key Features:
openclaw backup createandopenclaw backup verifycommandstalk.silenceTimeoutMsconfig for configurable silence detection- TUI infers active agent from workspace
tools.web.search.brave.mode: "llm-context"for Brave LLM Context endpointopenclaw --versionnow includes short git commit hash- ACP provenance metadata (
openclaw acp --provenance off|meta|meta+receipt) channels.telegram.silentErrorReplies(default off)
Security Fixes:
- Gateway auth: loopback hop spoofing ignored in trusted forwarding chains
- ACP: canonical tool identity for prompting; fail-closed on conflicting identity hints
- Subagents/follow-ups: ownership checks for
/subagents send
2026.3.7
Key Features:
ContextEngineplugin slot with full lifecycle hooks (bootstrap, ingest, assemble, compact, afterTurn, prepareSubagentSpawn, onSubagentEnded)- ACP persistent Discord channel and Telegram topic binding storage
- Telegram per-topic
agentIdoverrides in forum groups and DM topics - Web UI Spanish locale support
gateway.auth.tokenSecretRef supportOPENCLAW_EXTENSIONSDocker build arg for pre-installing extension dependenciesplugins.entries.<id>.hooks.allowPromptInjectionconfigagents.defaults.compaction.postCompactionSectionsconfigmessages.tts.openai.baseUrlconfigchannels.slack.typingReactionconfigchannels.discord.allowBots: "mentions"optionagents.defaults.compaction.recentTurnsPreserveconfig exposedHooks/Compaction lifecycle—session:compact:beforeandsession:compact:aftereventsagents.defaults.compaction.modelfor routing compaction through different model- Gemini 3.1 Flash-Lite support
Breaking Changes in 2026.3.7:
- BREAKING:
gateway.auth.moderequired explicitly when bothgateway.auth.tokenandgateway.auth.passwordare configured. Setgateway.auth.modetotokenorpasswordbefore upgrade.
2026.3.2
Key Features:
- SecretRef support across 64 credential surfaces
pdftool with native Anthropic and Google PDF provider supportagents.defaults.pdfModel,pdfMaxBytesMb,pdfMaxPagesconfigssessions_spawninline file attachments (tools.sessions_spawn.attachmentsconfig)tools.sessions_spawn.attachmentsconfig with limitschannels.telegram.streamingdefaults to"partial"(was"off")- Telegram DM
sendMessageDraftpreview streaming openclaw config validatecommandcli.banner.taglineModeconfig (random | default | off)agents.defaults.compaction.qualityGuardconfig (disabled by default)memorySearch.provider = "ollama"support- Zalo Personal plugin rebuilt with native
zca-js
Breaking Changes in 2026.3.2:
- BREAKING: Onboarding defaults
tools.profiletomessagingfor new local installs - BREAKING: ACP dispatch now defaults to enabled unless
acp.dispatch.enabled=false - BREAKING: Plugin SDK removed
api.registerHttpHandler(...)→ useapi.registerHttpRoute(...) - BREAKING: Zalo Personal plugin no longer requires external
zca-compatible CLI binaries
2026.3.1
Key Features:
- OpenAI Responses WebSocket-first by default (
transport: "auto"with SSE fallback) - Gateway container health probes (
/health,/healthz,/ready,/readyz) - Android camera, device permissions, notifications actions node commands
- Discord thread lifecycle controls (
idleHours,maxAgeHours) - Telegram per-DM
direct+ topic config with rich policy agents.defaults.heartbeat.lightContextfor heartbeat lightweight bootstrap mode--light-contextfor cron agent turns- OpenAI Responses WebSocket warm-up (
response.createwithgenerate:false) params.openaiWsWarmupfor per-model control
Breaking Changes in 2026.3.1:
- BREAKING: Node exec approval payloads now require
systemRunPlan - BREAKING: Node
system.runexecution pins path-token commands to canonicalrealpath
2026.2.27
Key Features:
openai/gpt-5.4,openai/gpt-5.4-pro,openai-codex/gpt-5.4support- Android app renamed to
ai.openclaw.app
2026.2.26
Key Features:
- External Secrets Management with full
openclaw secretsworkflow (audit,configure,apply,reload) - ACP thread-bound agents as first-class runtimes
openclaw agents bindings,openclaw agents bind,openclaw agents unbindcommands- Codex/WebSocket transport as default
- Channel plugins can own interactive onboarding flows
session.maintenance.maxDiskBytes/highWaterBytesdisk-budget controlstools.web.search.brave.modewith provider selection- Perplexity provider switched to Search API with structured results
Breaking Changes in 2026.2.26:
- BREAKING:
gateway.auth.modeexplicitly required when both token and password configured (precursor to 2026.3.7 requirement)
2026.2.25
Key Features:
agents.defaults.heartbeat.directPolicy(allow | block) replaces heartbeat DM toggleagents.list[].heartbeat.directPolicyper-agent override
Breaking Changes in 2026.2.25:
- BREAKING: Heartbeat direct/DM delivery default is now
allow. To keep DM-blocked behavior from 2026.2.24, setagents.defaults.heartbeat.directPolicy: "block"
2026.2.24
Key Features:
- Talk mode multi-lingual stop keywords
agents.defaults.sandbox.docker.dangerouslyAllowContainerNamespaceJoinbreak-glass config- Security audit
security.trust_model.multi_user_heuristic
Breaking Changes in 2026.2.24:
- BREAKING: Heartbeat delivery blocks direct/DM targets by default
- BREAKING: Docker
network: "container:<id>"sandbox namespace-join blocked by default
2026.2.23
Key Features:
kilocodeprovider (auth, onboarding, default modelkilocode/anthropic/claude-opus-4.6)- Vercel AI Gateway Claude shorthand model ref support
gateway.http.securityHeaders.strictTransportSecurityconfig- Sessions
openclaw sessions cleanupwith per-agent store targeting and disk-budget controls tools.web.search.provider: "kimi"(Moonshot) web searchagents.defaults.paramsper-agent overrides (includingcacheRetention,temperature,maxTokens)- Memory bootstrap file snapshots cached per session key
2026.2.22
Key Features:
- Control UI Tools panel data-driven from runtime
tools.catalog - Gemini web search provider support (
geminifor grounded search) - Control UI full cron edit parity with run history
- Mistral provider support including memory embeddings and voice
- Auto-updater (
update.auto.*) config, default off openclaw update --dry-runcommand- Synology Chat native channel plugin
- Memory FTS multilingual stop-word support (Spanish, Portuguese, Japanese, Korean, Arabic)
- Discord allowlist canonicalization to IDs
channels.<channel>.streamingunified config with enum valuesoff | partial | block | progresschannels.slack.nativeStreamingfor Slack native stream toggle- Removed legacy Gateway device-auth signature
v1(must usev2with challenge nonce)
Breaking Changes in 2026.2.22:
- BREAKING: Channel preview-streaming config unified to
channels.<channel>.streaming; legacy keys (streamMode, boolean Slackstreaming) read and migrated byopenclaw doctor --fix - BREAKING: Legacy Gateway device-auth signature
v1removed. Clients must signv2payloads. - BREAKING: CLI local onboarding sets
session.dmScopetoper-channel-peerby default for new configs - BREAKING: Tool-failure replies hide raw error details by default; requires
/verbose onor/verbose fullfor details - BREAKING: Google Antigravity provider support removed;
google-antigravity-authplugin removed
2026.2.21
Key Features:
- Gemini 3.1 (
google/gemini-3.1-pro-preview) support channels.modelByChannelfor per-channel model overrides- Discord streaming preview mode with partial/block options
- Discord lifecycle status reactions with emoji/timing overrides
- Discord voice channel join/leave via
/vc - Discord thread-bound subagent sessions
channels.discord.autoArchiveDuration(inherited from 2026.3.11 listing)agents.defaults.subagents.maxSpawnDepthshared max spawn depth (default 2)security.ownerDisplaySecretHMAC secret from configuration
2026.2.19
Key Features:
- Apple Watch companion app (watch inbox, notification relay, gateway command surfaces)
- iOS APNs push registration
openclaw devices removeandopenclaw devices clearcommands- Mattermost native slash command support
channels.mattermost.commands.*config
2026.2.17
Key Features:
- Anthropic 1M context beta header (
params.context1m: true) → maps toanthropic-beta: context-1m-2025-08-07 anthropic/claude-sonnet-4-6support/subagents spawncommand- Telegram inline button
stylesupport (primary|success|danger) channels.telegram.reactionNotificationsconfig- Discord Components v2 (buttons, selects, modals)
- Cron webhook delivery (
delivery.mode = "webhook") - Cron per-job
schedule.staggerMsandopenclaw cron add/edit --stagger tools.web.search.brave.mode: "llm-context"optionbrowser.extraArgsfor custom Chrome launch argumentstalk.silenceTimeoutMs(predates 2026.3.8 listing; added here)agents.defaults.subagents.maxSpawnDepth(default 2, actually first added here)agents.defaults.subagents.announceTimeoutMsconfigmodels.[].thinkingDefaultper-model thinking defaults
2026.2.15
Key Features:
- Discord Components v2 rich interactive agent prompts
llm_inputandllm_outputplugin hook payloads exposed- Nested sub-agents (depth configurable via
agents.defaults.subagents.maxSpawnDepth: 2) agents.defaults.subagents.maxChildrenPerAgentconfig (default 5)- Memory MMR re-ranking for hybrid search diversity (
memorySearch.query.hybrid.mmr) - Memory temporal decay scoring (
memorySearch.query.hybrid.temporalDecay) cron.webhookTokendedicated webhook auth tokennotify(webhook delivery toggle in cron)
2026.2.14
Key Features:
- Telegram poll sending via
openclaw message poll slack.dmPolicy+slack.allowFromaliases (legacydm.policy+dm.allowFromremain)discord.dmPolicy+discord.allowFromaliasessandbox.browser.bindsfor browser-container bind mounts
2026.2.13
Key Features:
- Podman-based setup (
setup-podman.sh, Quadlet unit) - Discord voice messages with waveform previews
- Outbound write-ahead delivery queue for crash recovery
sessions.parentForkMaxTokensconfig (default 100000; 0 disables)Cron/failureAlert.mode(announce|webhook),failureAlert.accountIdcron.failureDestinationand per-jobdelivery.failureDestination- Cron repeated-failure alerting configuration
channels.discord.eventQueue.listenerTimeoutper-account override
2026.2.12
Key Features:
openclaw plugins uninstall <id>commandopenclaw logs --local-timeflag- Discord role-based allowlists and role-based agent routing
- Config
$schemakey accepted (JSON Schema editor tooling) - Gateway/Hooks:
POST /hooks/agentnow rejects payloadsessionKeyoverrides by default
Breaking Changes in 2026.2.12:
- BREAKING: Hooks
POST /hooks/agentrejectssessionKeyoverrides by default. To keep fixed hook context, sethooks.defaultSessionKey(recommended:hooks.allowedSessionKeyPrefixes: ["hook:"]) or sethooks.allowRequestSessionKey: true
2026.2.9
Key Features:
commands.allowFromconfig for separate command authorization- ClawDock shell helpers for Docker workflows
gateway.channelHealthCheckMinutesconfig (default 5; 0 to disable)- iOS node app with setup-code onboarding
- Grok (xAI) as
web_searchprovider gateway.http.endpoints.chatCompletions.enabledconfig (default false; must opt-in)agents.filesgateway RPC methodshooks.allowedAgentIdscontrols
2026.2.6
Key Features:
- Cron run history deep-links in dashboard
cron.wakeModedefault changed to"now"(was"next-heartbeat")openclaw/gpt-5.4andopenai-codex/gpt-5.4support- xAI (Grok) provider support
- Baidu Qianfan provider support
- Web UI token usage dashboard
- Memory Voyage AI native support
cli.banner.taglineMode(first appearance; also listed in 2026.3.2)
2026.2.3
Key Features:
- Cron announce delivery mode for isolated jobs
tools.sessions_spawn.attachmentslimits (first listing)messages.responsePrefixper-channel and per-account overrides
2026.2.2
Key Features:
- Feishu/Lark plugin
- Web UI Agents dashboard
- QMD backend for workspace memory (
memory.backend: "qmd"first formal) agents.defaults.subagents.thinkingconfig (and per-agentagents.list[].subagents.thinking)
2026.2.1
Key Features:
channels.telegramunification (renamed fromproviders.telegram)- Agents
cacheRetention→ renamed fromcacheControlTtl(back-compat mapping) - Sessions
session.identityLinksfor cross-platform DM linking (first listed in 2026.1.16-1) - Gateway requires TLS 1.3 minimum for TLS listeners
2026.1.31 - 2026.1.24
Key Features:
completioncommand (Zsh/Bash/PowerShell/Fish)channels.telegram.linkPreviewconfig- Exec approvals
/approvein-chat across all channels gateway.auth.tokenSecretRef support (first for this specific key)diagnostics.stuckSessionWarnMsconfig (default 120000ms)
2026.1.23 - 2026.1.22
Key Features:
/tools/invokeHTTP endpoint- Heartbeat per-channel visibility controls
- Fly.io deployment support
session.resetByChannelper-channel reset overridesmessages.tts.openai.baseUrlconfig (first appearance; also listed in 2026.3.7)- Compaction safeguard adaptive chunking + progressive fallback
2026.1.21
Key Features:
- Lobster optional plugin tool
heartbeat.activeHourssupport (active-hours windowing)session.dmScopesession DM isolation (per-channel-peer default)- Exec approvals wildcard agent allowlists (
*) - Nodes
openclaw node startheadless node host - Sessions daily reset policy (
session.resetByChannel) agents.defaults.model.imageModelconfig (alsoagents.defaults.imageModel)session.mainKeycustomization
2026.1.20 (Major feature release)
Key Features:
- ACP IDE integration (
openclaw acp) - Skills download installs with OS-filtered options
- Memory hybrid BM25 + vector search (FTS5) with weighted merging
- SQLite embedding cache
- OpenAI batch indexing for embeddings
- Gemini native embeddings provider for memory
- Nostr channel plugin
- Matrix E2EE support via matrix-bot-sdk
- Slack HTTP webhook mode
- Zalouser channel dock metadata
- Plugin slots with memory slot selector
- Gateway
/v1/responsesOpenResponses endpoint - Usage
/usage costsummaries - Exec
host/security/askrouting for gateway + node exec /execdirective for per-session exec defaults- Exec approvals migrated to
~/.openclaw/exec-approvals.json - Nodes
system.run/system.whichvia headless node host sessions.parentForkMaxTokens(first appearance)agents.defaults.sandbox.browser.allowHostControlconfig
2026.1.16-1 (Significant feature release)
Key Features:
- Hooks system introduced
- Inbound media understanding (image/audio/video)
- Zalo Personal plugin (
@openclaw/zalouser) - Vercel AI Gateway provider
session.identityLinksfor cross-platform DM session linkingweb_searchcountry/language parametersexecPTY supportprocess send-keys,process submitPTY helpers- Skills user-invocable skill commands
memorySearch.experimental.sessionMemoryopt-intools.exec.applyPatchexperimental multi-file edit toolopenclaw plugins install(path/tgz/npm)
Breaking Changes in 2026.1.16-1:
- BREAKING:
openclaw messagerequirestarget(droppingto/channelId) - BREAKING: Channel auth prefers config over env for Discord/Telegram/Matrix
- BREAKING: Drop legacy
chatType: "room"→ usechatType: "channel" - BREAKING:
openclaw hooksis nowopenclaw webhooks; hooks live underopenclaw hooks - BREAKING:
openclaw plugins install <path>now copies into~/.openclaw/extensions(use--linkto keep path-based loading)
2026.1.15
Key Features:
- Provider auth registry +
openclaw models auth login agents.defaults.heartbeat.*per-agent heartbeat configuration- 24h duplicate suppression for heartbeat alerts
session.dmScopefor multi-user DM isolationchannels.<channel>.defaultTooutbound routing fallback- Memory
node-llama-cppmade optional dependency
2026.1.14
Key Features:
web_search/web_fetchtools (Brave API)- Chrome extension relay takeover mode
- Zalo channel plugin
openclaw security audit(expanded)- Matrix channel plugin (external)
channels.<provider>.configWritesgating config
2026.1.12 (Major rename release)
Key Features:
- BREAKING RENAME: chat "providers" → "channels" across CLI/RPC/config
- Memory vector search with SQLite index
- Voice-call plugin (full parity)
- Models: Synthetic provider, Moonshot Kimi K2
- One-shot cron schedules with ISO timestamps
agents.defaults.compaction.*config (safeguard summarization, model fallbacks)- Memory
openclaw memoryCLI memory_search/memory_gettools- Tool profiles + group shorthands
tools.byProvidertool policy overrides
Breaking Changes in 2026.1.12:
- BREAKING: Rename chat "providers" to "channels" (legacy config auto-migrates)
- BREAKING: Reject invalid/unknown config entries; run
openclaw doctor --fixto repair
2026.1.11
Key Features:
- Plugins first-class (loader + CLI management)
$includemodular config support- Pre-compaction memory flush turn
tools.exec.applyPatch(multi-file edits, experimental)- Plugins
openclaw plugins install
2026.1.10
Key Features:
openclaw statustable-based with OS/update/gateway/daemon/agents/sessionsopenclaw updatecommand- OpenAI-compatible
/v1/chat/completionsendpoint (disabled by default) gateway.http.endpoints.chatCompletions.enabledconfig- Z.AI (GLM) auth choice
- OpenRouter API key auth option
2026.1.9 (Major features)
Key Features:
- Microsoft Teams provider (now a plugin in later versions)
- OpenCode Zen + MiniMax API onboarding
- Token auth profiles + auth order
commands.config/commands.debugconfig (disabled by default)commands.restartconfig (disabled by default)gateway.http.endpoints.chatCompletions.enabled(disabled by default)agents.defaults.heartbeat.includeReasoningconfig
Breaking Changes in 2026.1.9:
- BREAKING: Microsoft Teams is now a plugin; install
@openclaw/msteams - BREAKING:
openclaw messagenow subcommands; requires--providerunless only one configured - BREAKING:
/restartand gateway restart tool disabled by default; enable withcommands.restart=true
2026.1.8
Key Features:
- DMs locked down by default (pairing-first + allowlist guidance)
- Per-agent sandbox scope defaults
session.dmScopefor multi-user DM isolation (first in 2026.1.8)dmPolicy: "pairing"as new default (was open)
Breaking Changes in 2026.1.8:
- BREAKING SECURITY: Inbound DMs locked down by default (
dmPolicy="pairing") - BREAKING: Sandbox
agent.sandbox.scopedefaults to"agent" - BREAKING: Timestamps in agent envelopes now UTC; removed
messages.timestampPrefix
2026.1.5
Key Features:
agents.defaults.imageModelconfig (image-specific model)imagetool routed to image model- Model shorthands (
opus,sonnet,gpt,gpt-mini,gemini,gemini-flash) gateway.http.endpoints.chatCompletions.enabled(first mention)
Config Keys by Version (CRITICAL)
This is the authoritative reference. Do NOT use a key in a version where it wasn't introduced.
Introduced in Unreleased (after 2026.3.13 - NOT safe in our version)
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
talk.silenceTimeoutMs |
Configurable silence before auto-send in Talk mode | number (ms) |
healthMonitor.enabled |
Per-channel/account health monitor override | boolean |
channels.telegram.silentErrorReplies |
Silent error replies (default off) | boolean |
browser.profiles.<name>.userDataDir |
Attach to existing Chromium user data dir | string path |
agents.defaults.imageGenerationModel.primary |
Primary image generation model | e.g. "google/gemini-3-pro-image-preview" |
plugins.entries.<id>.hooks.allowPromptInjection |
Allow prompt injection from plugin hooks | boolean |
Introduced in 2026.3.13 (our current version — SAFE)
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
agents.defaults.compaction.postIndexSync |
Mode-aware post-compaction session reindexing | string |
agents.defaults.memorySearch.sync.sessions.postCompactionForce |
Force immediate memory refresh after compaction | boolean |
cron.sessionTarget |
Bind cron job to creating session or named session | "current", "session:<id>", "main", "isolated" |
Introduced in 2026.3.12
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
params.fastMode |
Per-session fast mode toggle | boolean |
channels.slack.capabilities.interactiveReplies |
Opt-in Slack button/select reply directives | boolean (default false) |
Introduced in 2026.3.11
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
channels.discord.autoArchiveDuration |
Auto-archive duration for Discord threads | 60, 1440, 4320, 10080 (minutes) |
memorySearch.extraPaths |
Extra paths for multimodal image/audio indexing | array of paths |
Introduced in 2026.3.8
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
talk.silenceTimeoutMs |
Configurable silence threshold in Talk mode | number (ms); unset = platform default |
tools.web.search.brave.mode |
Brave search mode for LLM Context endpoint | "default", "llm-context" |
Introduced in 2026.3.7
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
gateway.auth.mode |
REQUIRED when both token+password configured | "token", "password", "none", "trusted-proxy" |
gateway.auth.token (SecretRef support) |
Auth token with SecretRef support | SecretRef or string |
messages.tts.openai.baseUrl |
Custom base URL for OpenAI TTS | string URL |
channels.slack.typingReaction |
Reaction-based processing indicator for Socket Mode DMs | emoji string |
channels.discord.allowBots |
Bot message allowlisting | "all", "mentions", false |
agents.defaults.compaction.postCompactionSections |
AGENTS.md sections re-injected after compaction | array of section names |
agents.defaults.compaction.model |
Model for compaction summarization | provider/model string |
plugins.entries.<id>.hooks.allowPromptInjection |
Allow plugin prompt injection | boolean |
agents.defaults.compaction.recentTurnsPreserve |
Turns preserved verbatim during compaction | number |
Introduced in 2026.3.2
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
agents.defaults.pdfModel |
Default model for PDF tool | provider/model string |
agents.defaults.pdfMaxBytesMb |
Max PDF size in MB | number |
agents.defaults.pdfMaxPages |
Max PDF pages | number |
tools.sessions_spawn.attachments |
Inline file attachment limits for sessions_spawn | object with size/count limits |
channels.telegram.streaming |
Telegram streaming mode (default changed to "partial") |
"off", "partial", "block", "progress" |
channels.telegram.disableAudioPreflight |
Skip mention-detection preflight for voice notes | boolean (per group/topic config) |
cli.banner.taglineMode |
Control tagline in startup output | "random", "default", "off" |
agents.defaults.compaction.qualityGuard |
Enable compaction quality audits | boolean (default false) |
memorySearch.provider |
Memory search provider | "openai", "ollama", "local", etc. |
memorySearch.fallback |
Fallback memory search provider | provider string |
Introduced in 2026.3.1
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
agents.defaults.heartbeat.lightContext |
Lightweight bootstrap mode for heartbeat runs | boolean |
params.openaiWsWarmup |
OpenAI Responses WebSocket warm-up per model | boolean |
Introduced in 2026.2.26
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
session.maintenance.maxDiskBytes |
Max disk budget for session maintenance | number (bytes) |
session.maintenance.highWaterBytes |
High-water mark for session maintenance | number (bytes) |
Introduced in 2026.2.25
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
agents.defaults.heartbeat.directPolicy |
Heartbeat DM delivery control | "allow", "block" |
agents.list[n].heartbeat.directPolicy |
Per-agent heartbeat DM delivery control | "allow", "block" |
Introduced in 2026.2.23
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
gateway.http.securityHeaders.strictTransportSecurity |
HSTS header for HTTPS deployments | string (e.g. "max-age=31536000") |
agents.defaults.params |
Per-agent params overrides (cacheRetention, temperature, maxTokens) | object |
agents.list[n].params |
Per-agent params (cacheRetention, temperature, maxTokens) | { cacheRetention: "1h", temperature: 0.7 } |
Introduced in 2026.2.22
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
update.auto.* |
Auto-updater config | object (disabled by default) |
channels.<channel>.streaming |
Unified streaming mode | "off", "partial", "block", "progress" |
channels.slack.nativeStreaming |
Slack native stream toggle | boolean |
Introduced in 2026.2.21
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
channels.modelByChannel |
Per-channel model overrides | { "telegram": "anthropic/claude-haiku-4-5" } |
agents.defaults.subagents.maxSpawnDepth |
Max nested sub-agent depth | number (shared; default 2) |
Introduced in 2026.2.19
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
channels.mattermost.commands.* |
Mattermost native slash command config | object |
Introduced in 2026.2.17
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
params.context1m |
Anthropic 1M context beta for Opus/Sonnet | boolean (maps to anthropic-beta: context-1m-2025-08-07) |
models.[n].thinkingDefault |
Per-model thinking level default | "off", "low", "high", "xhigh" |
agents.defaults.subagents.announceTimeoutMs |
Configurable announce call timeout | number (ms); default 60000 |
messages.suppressToolErrors |
Hide non-mutating tool-failure warnings | boolean |
Introduced in 2026.2.15
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
memorySearch.query.hybrid.mmr |
MMR re-ranking for hybrid search diversity | boolean or config object |
memorySearch.query.hybrid.temporalDecay |
Temporal decay for hybrid search scoring | config object with half-life |
agents.defaults.subagents.maxChildrenPerAgent |
Max child sub-agents per parent | number (default 5) |
cron.webhookToken |
Dedicated webhook auth token for cron | string |
Introduced in 2026.2.14
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
sandbox.browser.binds |
Browser-container bind mounts (separate from exec) | array of bind specs |
Introduced in 2026.2.13
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
sessions.parentForkMaxTokens |
Max tokens for parent session fork inheritance | number (default 100000; 0 = disable) |
delivery.failureDestination |
Per-job failure delivery destination | routing object |
cron.failureDestination |
Global cron failure delivery destination | routing object |
Introduced in 2026.2.12
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
hooks.defaultSessionKey |
Default session key for incoming hooks | string (e.g. "hook:main") |
hooks.allowedSessionKeyPrefixes |
Allowed session key prefixes in hooks | array of strings |
hooks.allowRequestSessionKey |
Allow caller to override session key | boolean (default false) |
Introduced in 2026.2.9
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
gateway.channelHealthCheckMinutes |
Periodic channel health check interval | number (default 5; 0 = disable) |
hooks.allowedAgentIds |
Restrict webhook agent routing | array of agent IDs |
gateway.http.endpoints.chatCompletions.enabled |
Enable OpenAI-compatible /v1/chat/completions endpoint |
boolean (default false) |
Introduced in 2026.2.6
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
memory.qmd.update.onBoot |
QMD update on gateway boot | boolean |
memory.qmd.searchMode |
QMD search mode | "query", "search", "vsearch" (default "search") |
Introduced in 2026.2.3
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
messages.responsePrefix |
Per-channel/account response prefix | string or object |
Introduced in 2026.2.2
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
agents.defaults.subagents.thinking |
Default thinking level for sub-agents | "off", "low", "high", "xhigh" |
agents.list[n].subagents.thinking |
Per-agent sub-agent thinking level | same as above |
Introduced in 2026.2.1
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
cacheRetention |
Anthropic prompt cache TTL | "5m", "1h", etc. (renamed from cacheControlTtl) |
Introduced in 2026.1.31 - 2026.1.24
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
channels.telegram.linkPreview |
Toggle outbound link previews | boolean |
diagnostics.stuckSessionWarnMs |
Stuck-session warning threshold | number (default 120000) |
Introduced in 2026.1.23 - 2026.1.22
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
session.resetByChannel |
Per-channel reset policy overrides | object |
Introduced in 2026.1.21
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
heartbeat.activeHours |
Active hours window for heartbeat | { start: "09:00", end: "22:00" } |
session.mainKey |
Custom main session key | string |
session.dmScope |
DM session isolation mode | "main", "per-channel-peer", etc. |
agents.defaults.imageModel |
Default model for image analysis | provider/model string |
Introduced in 2026.1.20
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
memorySearch.provider |
Memory embedding provider | "openai", "local", "gemini", "voyage", "ollama", "mistral" |
memorySearch.fallback |
Fallback memory search provider | provider string |
memorySearch.experimental.sessionMemory |
Opt-in session transcript indexing | boolean |
memorySearch.sources |
Memory sources to index | array |
tools.byProvider |
Tool policy overrides by provider/model | object |
agents.defaults.sandbox.browser.allowHostControl |
Allow browser tool to control host browser | boolean |
exec.host |
Execution host routing | "gateway", "node", "sandbox" |
exec.security |
Exec security mode | "allowlist", "sandbox", "deny" |
exec.ask |
Exec approval ask mode | "on-miss", "always", "off" |
agents.list[n].sandbox.docker.setupCommand |
Sandbox Docker setup command | string or array of strings |
Introduced in 2026.1.16-1
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
hooks.* |
Hooks system config | see hooks docs |
tools.exec.applyPatch |
Enable apply_patch tool | boolean (gated, experimental) |
session.identityLinks |
Cross-platform DM session linking | object |
web_search.country |
Country code for search results | 2-letter country code |
web_search.language |
Language for search results | language code |
Introduced in 2026.1.15
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
agents.defaults.heartbeat.* |
Per-agent heartbeat configuration | object |
agents.list[n].heartbeat.* |
Per-agent heartbeat config | object |
Introduced in 2026.1.12
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
channels.* |
Renamed from providers.* |
replaces all providers.* keys |
tools.profile |
Tool profile shorthand | "messaging", "coding", "minimal", etc. |
agents.defaults.compaction.* |
Compaction config | safeguard, model, sections, etc. |
memory.* |
Memory/embeddings config | see memory docs |
Introduced in 2026.1.9 - 2026.1.8
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
commands.config |
Enable /config command |
boolean (default false) |
commands.debug |
Enable /debug command |
boolean (default false) |
commands.restart |
Enable /restart command |
boolean (default false) |
dmPolicy |
DM access policy | "open", "pairing", "allowlist" |
agents.defaults.sandbox.scope |
Sandbox scope default | "agent", "session", "shared" |
agents.defaults.heartbeat.includeReasoning |
Deliver reasoning in heartbeat | boolean |
gateway.http.endpoints.chatCompletions.enabled |
Enable chat completions HTTP endpoint | boolean (default false) |
Introduced in 2026.1.5
| Config Key | What It Does | Valid Values / Example |
|---|---|---|
agents.defaults.imageModel |
Image-specific model config | { primary: "provider/model", fallbacks: [] } |
| Model shorthands in config | opus, sonnet, gpt, gpt-mini, gemini, gemini-flash |
string aliases |
Breaking Changes & Deprecations (Full List)
2026.3.13
- Memory bootstrap: Only one root bootstrap file loaded.
MEMORY.mdwins;memory.mdis fallback only. Merge both files before upgrade if you used both.
2026.3.12
- Implicit workspace plugin auto-load disabled (security fix
GHSA-99qw-6mr3-36qr) - Device pairing setup codes changed to short-lived bootstrap tokens
2026.3.11
- Cron isolated delivery tightened: cron jobs can no longer notify through ad hoc agent sends or fallback main-session summaries. Use
openclaw doctor --fixto migrate legacy cron storage.
2026.3.7
- BREAKING:
gateway.auth.moderequired when bothtokenandpasswordconfigured. Set to"token"or"password"before upgrade.
2026.3.2
- BREAKING: Onboarding defaults
tools.profileto"messaging"for new local installs - BREAKING: ACP dispatch defaults to enabled; use
acp.dispatch.enabled=falseto disable - BREAKING: Plugin SDK removed
api.registerHttpHandler(...)→ useapi.registerHttpRoute(...) - **BREA
…(truncated)