Skip to content

agents

Manage isolated agents (workspaces + auth + routing).

Related:

Terminal window
openclaw agents list
openclaw agents add work --workspace ~/.openclaw/workspace-work
openclaw agents bindings
openclaw agents bind --agent work --bind telegram:ops
openclaw agents unbind --agent work --bind telegram:ops
openclaw agents set-identity --workspace ~/.openclaw/workspace --from-identity
openclaw agents set-identity --agent main --avatar avatars/openclaw.png
openclaw agents delete work

Use routing bindings to pin inbound channel traffic to a specific agent.

List bindings:

Terminal window
openclaw agents bindings
openclaw agents bindings --agent work
openclaw agents bindings --json

Add bindings:

Terminal window
openclaw agents bind --agent work --bind telegram:ops --bind discord:guild-a

If you omit accountId (--bind <channel>), OpenClaw resolves it from channel defaults and plugin setup hooks when available.

  • A binding without accountId matches 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 resolved accountId, OpenClaw upgrades that existing binding in place instead of adding a duplicate.

Example:

Terminal window
# initial channel-only binding
openclaw agents bind --agent work --bind telegram
# later upgrade to account-scoped binding
openclaw agents bind --agent work --bind telegram:ops

After 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:

Terminal window
openclaw agents unbind --agent work --bind telegram:ops
openclaw agents unbind --agent work --all

Each agent workspace can include an IDENTITY.md at the workspace root:

  • Example path: ~/.openclaw/workspace/IDENTITY.md
  • set-identity --from-identity reads from the workspace root (or an explicit --identity-file)

Avatar paths resolve relative to the workspace root.

set-identity writes fields into agents.list[].identity:

  • name
  • theme
  • emoji
  • avatar (workspace-relative path, http(s) URL, or data URI)

Load from IDENTITY.md:

Terminal window
openclaw agents set-identity --workspace ~/.openclaw/workspace --from-identity

Override fields explicitly:

Terminal window
openclaw agents set-identity --agent main --name "OpenClaw" --emoji "🦞" --avatar avatars/openclaw.png

Config sample:

{
agents: {
list: [
{
id: "main",
identity: {
name: "OpenClaw",
theme: "space lobster",
emoji: "🦞",
avatar: "avatars/openclaw.png",
},
},
],
},
}