Principle:Openclaw Openclaw Routing Verification
Routing Verification
Routing Verification is the principle of listing all configured agents with their bindings, models, workspace paths, and provider status to confirm correct multi-agent setup. Verification is essential after adding agents, modifying bindings, or changing channel configuration to ensure that messages will be routed as intended.
Motivation
Multi-agent routing is configured declaratively through JSON configuration. Mistakes in binding rules, missing agent entries, or misconfigured account ids can cause messages to be routed to the wrong agent or to fall through to the default. Because routing is deterministic and silent (no interactive confirmation at message time), operators need a way to inspect the resolved state of all agents and their routing rules before and after changes.
Routing verification provides a read-only view of the agent topology, answering questions like:
- Which agents are configured, and which is the default?
- What workspace and agent directory does each agent use?
- Which model is assigned to each agent?
- How many binding rules exist per agent?
- What specific channels, accounts, peers, guilds, or teams are bound to each agent?
- What is the provider status (credentials, connectivity) for each agent's bound channels?
Agent Summary
Each agent in the verification output includes:
| Field | Description |
|---|---|
| id | The normalized agent id. |
| name | The human-readable agent name (if different from id). |
| isDefault | Whether this agent receives unmatched messages. |
| workspace | The resolved workspace directory path. |
| agentDir | The resolved agent state directory path. |
| model | The primary model assigned to this agent (per-agent or from defaults). |
| bindings | The count of routing rules targeting this agent. |
| identityName / identityEmoji | Identity loaded from IDENTITY.md or config. |
| routes | Human-readable summary of routing (e.g., channel names, "default (no explicit rules)"). |
| providers | Per-channel provider status lines showing credential and connectivity state. |
Identity Resolution
Agent identity is resolved from two sources, with IDENTITY.md taking precedence:
- IDENTITY.md -- Parsed from the agent's workspace for name and emoji.
- Config identity --
agents.list[].identity.nameandagents.list[].identity.emojifrom the config file.
The source ("identity" for file, "config" for configuration) is tracked for display purposes.
Binding Details
When the --bindings flag is used, the verification output expands each agent's routing rules into descriptive strings showing the match criteria. For example:
whatsapp accountId=personaltelegram peer=dm:+15551234567discord guild=123456789
Provider Status
Verification also reports the per-channel provider status for each agent, based on the channels referenced by the agent's bindings. This helps operators identify configuration issues (missing credentials, disconnected accounts) without running a live probe.
For live health checks, the separate openclaw channels status --probe command performs actual connectivity tests.
Output Formats
Verification supports two output formats:
- Human-readable: Formatted text with headers, indentation, and path shortening (
~for home directory). - JSON: Machine-readable output for scripting and automation via
--json.
Verification Workflow
A typical verification workflow after configuring agents:
- Run
openclaw agents listto see all agents with their workspace, model, and binding count. - Run
openclaw agents list --bindingsto inspect the full routing rules per agent. - Run
openclaw channels status --probeto verify live channel connectivity.