Agent-to-agent session send failing with “pairing required”
Config confirmed correct:
∙ tools.agentToAgent.enabled: true with all agents in allow list
∙ session.agentToAgent.maxPingPongTurns: 0
∙ agents.defaults.sandbox.sessionToolsVisibility: "all"
∙ tools.sessions.visibility: "agent"
∙ All agents have auth-profiles.json with Anthropic key
∙ Gateway RPC probe: ok
Error: Session Send: with label Strategy, timeout 30 failed: gateway closed (1008): pairing required
What does “pairing required” mean in the context of an agent-to-agent session send? Is there a separate pairing step for sub-agents?
#Agent-to-agent session send failing with “pairing required”
1 messages · Page 1 of 1 (latest)
gateway closed (1008): pairing required isn’t an “agent-to-agent” pairing step — it’s Gateway device pairing.
In OpenClaw, anything that talks to the Gateway WebSocket as a “client device” (Control UI in a browser, nodes, sometimes remote/isolated runtimes) can be forced through a one-time approval. When it’s not approved yet, the Gateway closes the WS with 1008 + “pairing required”. Docs call this out explicitly for the Control UI: https://docs.openclaw.ai/web/control-ui and in troubleshooting: https://docs.openclaw.ai/gateway/troubleshooting
What to do
On the same machine/profile that’s running the Gateway, run:
openclaw --version
openclaw devices list
If you see a pending request, approve it:
openclaw devices approve <requestId>
Then retry the agent-to-agent sessions_send.
Why you might see it “only” when doing sessions_send
It usually means the process that’s executing the tool call is effectively a new device identity to the Gateway (new browser profile, container with non-persisted ~/.openclaw, new host, cleared storage, etc.), so it keeps needing approval again.
If you paste the output of openclaw devices list (redact tokens), I can tell you which entry is blocking and what role/scope it’s requesting.
If this fixed it, please right-click the solution message → Apps → ✅ Mark Solution so Answer Overflow indexes it.
Telegram bot message “Gateway pairing error again — blocks sub-agent spawning too.
You'll need to complete the gateway pairing before I can spawn Strategy or message other sessions. This is a prerequisite for all agent-to-agent operations.”
That Telegram message is basically (slightly misleadingly) saying: the Gateway is rejecting a WebSocket client as an unapproved “device”. It’s not a special “sub-agent pairing” step.
There are two different “pairing” concepts that often get conflated:
-
Channel/DM pairing (Telegram/WhatsApp unknown senders)
- CLI:
openclaw pairing list/approve ... - Docs: https://docs.openclaw.ai/channels/pairing
- CLI:
-
Gateway device pairing (Control UI browser, nodes, or any client identity connecting to the Gateway WS)
- CLI:
openclaw devices list/approve ... - Symptom:
disconnected (1008): pairing required - Docs: https://docs.openclaw.ai/web/control-ui (Device pairing section) and https://docs.openclaw.ai/gateway/troubleshooting
- CLI:
For agent-to-agent sessions.send / sub-agent spawning, the failure you showed (1008: pairing required) points to #2 (devices).
Fix
On the machine/profile that’s actually talking to the Gateway:
openclaw --version
openclaw devices list
openclaw devices approve <requestId>
Then retry spawning/messaging.
If it keeps happening “again”
That almost always means the client’s device identity isn’t being persisted, so it looks “new” each time (common with containers, ephemeral homes, new browser profiles, cleared browser storage). In Docker, make sure the container home (~/.openclaw) is on a persistent volume; otherwise you’ll re-pair on every restart.
If devices list shows nothing pending
Paste:
openclaw --versionopenclaw devices list- and the few log lines around the disconnect from
openclaw logs --follow