Experimental Features in OpenClaw: Flags and Documentation

This page explains what experimental flags mean in OpenClaw and lists currently documented flags. It is intended for developers and operators evaluating preview capabilities.

Read this when

  • You see an `.experimental` config key and want to know whether it is stable
  • You want to try preview runtime features without confusing them with normal defaults
  • You want one place to find the currently documented experimental flags

Experimental features are preview capabilities that require an explicit flag to activate. They require additional real-world usage before receiving a stable default or a long-term support commitment.

  • Inactive by default, unless documentation specifies a limited automatic configuration rule.
  • Their design and behavior may evolve more rapidly than stable configuration options.
  • When a stable alternative exists, choose that path.
  • Only deploy at scale after testing in a constrained environment first.

Currently documented flags

SurfaceKeyUse it whenMore
Local model runtimeagents.defaults.experimental.localModelLean, agents.entries.*.experimental.localModelLeanA smaller or stricter local backend cannot handle OpenClaw's complete default tool surfaceLocal Models
Codex harnessplugins.entries.codex.config.appServer.experimental.sandboxExecServerYou want native Codex app-server 0.132.0 or newer to target an OpenClaw sandbox-backed exec-server rather than disabling Code ModeCodex harness reference
Structured planning tooltools.experimental.planToolYou want the structured update_plan tool exposed for multi-step work tracking in compatible runtimes and UIsGateway configuration reference
Code Modetools.codeMode.enabledYou want compact code-orchestrated access to a hidden OpenClaw tool catalogCode Mode
Swarmtools.swarm.enabledYou want Code Mode scripts to orchestrate bounded groups of sub-agents in parallelSwarm

Control UI Labs

Navigate to Settings → Agents & Tools → Labs to toggle experiments that have a Control UI switch. Activating or deactivating a lab immediately updates the canonical Gateway configuration; the page shows a restart notification only when the feature demands one.

Code Mode and Swarm are the currently released Labs entries. Both switches modify existing validated configuration keys and typically apply to future agent runs without requiring a Gateway restart.

Local model lean mode

agents.defaults.experimental.localModelLean: true removes large optional tools from the agent's direct surface on every turn: browser, cron, message, image_generate, music_generate, video_generate, tts, and pdf. Tools that are explicitly allowed or required for delivery stay available, though Tool Search may list them rather than exposing them directly. Lean mode also defaults plugin, MCP, and client catalogs to structured Tool Search (tool_search, tool_describe, tool_call) when tools.toolSearch is not already configured. Use agents.entries.*.experimental.localModelLean to restrict this to a single agent.

During onboarding, a verified ollama or lmstudio inference route automatically sets agents.defaults.experimental.localModelLean: true when that value is missing. OpenClaw notes that the setting originated from onboarding, so a later verified non-local route removes only the automatic setting. An explicitly configured true or false remains unchanged. Other self-hosted and OpenAI-compatible providers are not deduced from model names or URLs.

If you already adjust Tool Search globally, OpenClaw does not modify that configuration. Set tools.toolSearch: false to exclude the lean-mode Tool Search default.

In structured tools mode, lean runs keep exec directly visible alongside the Tool Search controls so coding-tuned local models can still select their familiar shell path. This changes schema visibility only: normal tool policy, sandboxing, and execution approvals still apply. Explicit code and directory modes maintain their standard compaction behavior.

Why these tools

These tools possess the largest descriptions, broadest parameter shapes, or the greatest likelihood of distracting a small model from the typical coding and conversation workflow. On a small-context or stricter OpenAI-compatible backend, this makes the difference between:

  • Tool schemas fitting within the prompt versus crowding out conversation history.
  • The model selecting the correct tool versus generating malformed tool calls from too many similar schemas.
  • The Chat Completions adapter staying within structured-output limits versus a 400 error on tool-call payload size.

Removing them only reduces the direct tool list. The model still has read, write, edit, exec, apply_patch, image understanding, web search or fetch (when configured), memory, and session or agent tools. Additional catalogs remain accessible through Tool Search unless you set tools.toolSearch: false; explicit tool allows can restore a lean agent to a trimmed workflow.

When to turn it on

Activate lean mode after confirming the model can communicate with the Gateway but full agent turns fail:

  1. openclaw infer model run --gateway --model <ref> --prompt "Reply with exactly: pong" succeeds.
  2. A normal agent turn fails with malformed tool calls, oversized prompts, or the model ignoring its tools.
  3. Toggling localModelLean: true resolves the failure.

When to leave it off

If your backend handles the complete default runtime without issues, keep this disabled. It serves as a workaround for local stacks requiring a smaller tool surface, not a default for hosted models or well-resourced local machines.

Lean mode does not replace tools.profile, tools.allow/tools.deny, or the model compat.supportsTools: false escape hatch. For a permanently narrower tool surface on a specific agent, prefer those stable controls.

Enable

{
  agents: {
    defaults: {
      experimental: {
        localModelLean: true,
      },
    },
  },
}

For a single agent only:

{
  agents: {
    list: [
      {
        id: "local",
        model: "lmstudio/gemma-4-e4b-it",
        experimental: {
          localModelLean: true,
        },
      },
    ],
  },
}

Once you modify the flag, restart the Gateway. By default, lean filtering discards browser, cron, message, image_generate, music_generate, video_generate, tts, and pdf unless you keep them explicitly using tools.allow or tools.alsoAllow. Tool Search might still index any tools you preserved, but it does not make them directly available.

Experimental does not mean hidden

Any experimental feature must be clearly labeled as such in its documentation and within the configuration path itself, rather than being disguised behind a default setting that appears stable.