- Off by default unless a doc tells you to enable one.
- Shape and behavior can change faster than stable config.
- Prefer a stable path when one already exists.
- Roll out broadly only after testing in a smaller environment first.
Currently documented flags
| Surface | Key | Use it when | More |
|---|---|---|---|
| Local model runtime | agents.defaults.experimental.localModelLean, agents.list[].experimental.localModelLean | A smaller or stricter local backend chokes on OpenClaw’s full default tool surface | Local Models |
| Memory search | agents.defaults.memorySearch.experimental.sessionMemory | You want memory_search to index prior session transcripts and accept the extra storage/indexing cost | Memory configuration reference |
| Codex harness | plugins.entries.codex.config.appServer.experimental.sandboxExecServer | You want native Codex app-server 0.132.0 or newer to target an OpenClaw sandbox-backed exec-server instead of disabling Code Mode | Codex harness reference |
| Structured planning tool | tools.experimental.planTool | You want the structured update_plan tool exposed for multi-step work tracking in compatible runtimes and UIs | Gateway configuration reference |
Local model lean mode
agents.defaults.experimental.localModelLean: true drops heavyweight optional tools from the agent’s direct surface every turn: browser, cron, message, image_generate, music_generate, video_generate, tts, and pdf. Explicitly allowed or delivery-required tools remain available, though Tool Search may catalog them instead of exposing them directly. Lean mode also defaults plugin/MCP/client catalogs to structured Tool Search (tool_search, tool_describe, tool_call) when tools.toolSearch is not already set. Use agents.list[].experimental.localModelLean to scope this to one agent.
If you already tune Tool Search globally, OpenClaw leaves that config alone. Set tools.toolSearch: false to opt out of the lean-mode Tool Search default.
Why these tools
These tools have the largest descriptions, broadest parameter shapes, or highest chance of distracting a small model from the normal coding and conversation path. On a small-context or stricter OpenAI-compatible backend that is the difference between:- Tool schemas fitting the prompt vs. crowding out conversation history.
- The model picking the right tool vs. emitting malformed tool calls from too many similar schemas.
- The Chat Completions adapter staying inside structured-output limits vs. a 400 on tool-call payload size.
read, write, edit, exec, apply_patch, image understanding, web search/fetch (when configured), memory, and session/agent tools. Extra catalogs stay reachable through Tool Search unless you set tools.toolSearch: false; explicit tool allows can opt a lean agent back into a trimmed workflow.
When to turn it on
Enable lean mode once you have proved the model can talk to the Gateway but full agent turns misbehave:openclaw infer model run --gateway --model <ref> --prompt "Reply with exactly: pong"succeeds.- A normal agent turn fails with malformed tool calls, oversized prompts, or the model ignoring its tools.
- Toggling
localModelLean: trueclears the failure.
When to leave it off
If your backend handles the full default runtime cleanly, leave this off. It is a workaround for local stacks that need a smaller tool surface, not a default for hosted models or well-resourced local rigs. Lean mode does not replacetools.profile, tools.allow/tools.deny, or the model compat.supportsTools: false escape hatch. For a permanent narrower tool surface on a specific agent, prefer those stable knobs.
Enable
browser, cron, message, image_generate, music_generate, video_generate, tts, and pdf unless you explicitly preserve them with tools.allow or tools.alsoAllow; Tool Search may still catalog preserved tools instead of exposing them directly.