openclaw agents
Manage isolated agents (workspaces + auth + routing).
Related:
- Multi-agent routing: Multi-Agent Routing
- Agent workspace: Agent workspace
Examples
Routing bindings
Use routing bindings to pin inbound channel traffic to a specific agent. List bindings:accountId (--bind <channel>), OpenClaw resolves it from channel defaults and plugin setup hooks when available.
Binding scope behavior
- A binding without
accountIdmatches the channel default account only. accountId: "*"is the channel-wide fallback (all accounts) and is less specific than an explicit account binding.- If the same agent already has a matching channel binding without
accountId, and you later bind with an explicit or resolvedaccountId, OpenClaw upgrades that existing binding in place instead of adding a duplicate.
telegram:ops. If you also want default-account routing, add it explicitly (for example --bind telegram:default).
Remove bindings:
Identity files
Each agent workspace can include anIDENTITY.md at the workspace root:
- Example path:
~/.openclaw/workspace/IDENTITY.md set-identity --from-identityreads from the workspace root (or an explicit--identity-file)
Set identity
set-identity writes fields into agents.list[].identity:
namethemeemojiavatar(workspace-relative path, http(s) URL, or data URI)
IDENTITY.md:
Session Journal
Agents can write a reflective LLM journal entry each time a session resets via/new or /reset.
Opt in per agent with sessionJournal.enabled: true.
Journal files are written to
<effectiveWorkspaceDir>/journal/YYYY-MM-DD-HHMMss-<slug>.md. In multi-user
mode (workspace lanes), each lane gets its own journal/ folder — journals are isolated per
user, not shared with other lanes on the same agent.
The bundled session-journal hook must be enabled for this config to take effect: