agents
openclaw agents
Section titled “openclaw agents”Manage isolated agents (workspaces + auth + routing).
Related:
- Multi-agent routing: Multi-Agent Routing
- Agent workspace: Agent workspace
Examples
Section titled “Examples”openclaw agents listopenclaw agents add work --workspace ~/.openclaw/workspace-workopenclaw agents bindingsopenclaw agents bind --agent work --bind telegram:opsopenclaw agents unbind --agent work --bind telegram:opsopenclaw agents set-identity --workspace ~/.openclaw/workspace --from-identityopenclaw agents set-identity --agent main --avatar avatars/openclaw.pngopenclaw agents delete workRouting bindings
Section titled “Routing bindings”Use routing bindings to pin inbound channel traffic to a specific agent.
List bindings:
openclaw agents bindingsopenclaw agents bindings --agent workopenclaw agents bindings --jsonAdd bindings:
openclaw agents bind --agent work --bind telegram:ops --bind discord:guild-aIf you omit accountId (--bind <channel>), OpenClaw resolves it from channel defaults and plugin setup hooks when available.
Binding scope behavior
Section titled “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.
Example:
# initial channel-only bindingopenclaw agents bind --agent work --bind telegram
# later upgrade to account-scoped bindingopenclaw agents bind --agent work --bind telegram:opsAfter the upgrade, routing for that binding is scoped to telegram:ops. If you also want default-account routing, add it explicitly (for example --bind telegram:default).
Remove bindings:
openclaw agents unbind --agent work --bind telegram:opsopenclaw agents unbind --agent work --allIdentity files
Section titled “Identity files”Each agent workspace can include an IDENTITY.md at the workspace root:
- Example path:
~/.openclaw/workspace/IDENTITY.md set-identity --from-identityreads from the workspace root (or an explicit--identity-file)
Avatar paths resolve relative to the workspace root.
Set identity
Section titled “Set identity”set-identity writes fields into agents.list[].identity:
namethemeemojiavatar(workspace-relative path, http(s) URL, or data URI)
Load from IDENTITY.md:
openclaw agents set-identity --workspace ~/.openclaw/workspace --from-identityOverride fields explicitly:
openclaw agents set-identity --agent main --name "OpenClaw" --emoji "🦞" --avatar avatars/openclaw.pngConfig sample:
{ agents: { list: [ { id: "main", identity: { name: "OpenClaw", theme: "space lobster", emoji: "🦞", avatar: "avatars/openclaw.png", }, }, ], },}