Agents#
OpenClaw agents are the AI assistants that receive messages from channels, maintain context through sessions, call tools, and produce responses. The system ships with a built-in agent runtime (id openclaw) that handles the full turn lifecycle inside the Gateway process.
Interacting with an agent#
Use the CLI to send a direct message to the default agent:
openclaw agent --message "Summarize the last session"
openclaw agent --message "Fix the bug in index.ts" --thinking low
The --thinking flag controls the reasoning level passed to the model. The command delivers the message through connected channels and returns the agent's reply.
Configuration#
Agent behavior is driven by the agents section in ~/.openclaw/openclaw.json (JSON5). The agents.defaults object supplies baseline settings for every agent:
{
"agents": {
"defaults": {
"model": "gpt-4o",
"workspace": "~/my-workspace",
"sandbox": { "mode": "strict" },
"heartbeat": { "every": "30m", "target": "last" },
"skills": ["core", "web"],
"compaction": { "enabled": true },
"contextPruning": { "enabled": true }
}
}
}
Override any field per agent under agents.list[]. Channel and peer routing is controlled by the top-level bindings[] array, which maps (channel, account, peer) patterns to a specific agentId.
See the full schema with openclaw config schema.
Built-in runtime behaviors#
The default runtime executes agent turns with these core capabilities:
- Tool execution: Registered tools (coding, channel actions, web, etc.) are invoked inside the turn. Results stream back to the model and to connected clients. Non-
mainsessions run under the configured sandbox policy. - Compaction: Automatic or manual (
/compact) reduction of transcript size while preserving state. Checkpoints are stored so a session can resume from a compacted state. - Heartbeats: Periodic background turns scheduled by
agents.defaults.heartbeat.every. ThetargetanddirectPolicyfields control delivery and visibility. - Sub-agent dispatch: Long-running or specialized work can spawn isolated sub-agents via session tools. Sub-agents carry lineage metadata (
spawnedBy,spawnDepth) and appear separately insessions.list. - Model fallback: When the primary model or provider fails, the runtime automatically tries configured fallbacks from
agents.defaults.model.
All of these surfaces are active for the built-in runtime and participate in the same session and delivery machinery.
Runtime selection#
The default runtime id is openclaw. When additional runtimes are registered by plugins, you can select them explicitly or use the special value auto (which prefers a plugin harness when one matches the request).
Resource packages (skills, prompts, themes) are declared in package metadata or discovered from conventional directories and loaded into the active agent.