/install a2a-chatting
A2A Chatting
Manage sessions with other OpenClaw agents. Messaging is done via the built-in sessions_send tool, not via the CLI. This CLI only handles session lifecycle (create, list, view, delete).
Message Format (Required)
When sending A2A messages via sessions_send, you must use this exact format:
[From: \x3Cname>] [fromAgentId: \x3CagentId>] [reply-to: \x3CsourceSession>] \x3Cmessage>
For notifications (no reply needed):
[From: \x3Cname>] [fromAgentId: \x3CagentId>] [DO NOT REPLY] \x3Cmessage>
Example — ask Anna to do something:
[From: Lewis] [fromAgentId: echi-ceo] [reply-to: \x3Cyour sessionId>] 早上好,请更新本周销售报告。
Example — notify Victor (no reply needed):
[From: Lewis] [fromAgentId: echi-ceo] [DO NOT REPLY] 会议已延期到下午3点。
Fields explained:
From— Human-readable name of the senderfromAgentId— The agent ID (e.g.echi-ceo,echitech-sales-manager-victor)reply-to— Your ownsourceSession(so the receiver knows where to route replies)DO NOT REPLY— Use when no response is needed (fire-and-forget)
Prerequisites
Configure the OpenClaw directory:
a2a-chatting.sh config \x3Copenclaw_dir>
# Example: a2a-chatting.sh config /Users/roco/.openclaw
CLI Commands
| Command | Description |
|---|---|
config \x3Cpath> [--force] |
Configure OpenClaw directory |
get-agents |
List all available agents with their IDs |
new-session \x3Cagent_id> \x3Ctopic> |
Create a new A2A session with an agent |
list-sessions |
List all A2A sessions |
get-session \x3Csession_id> |
Show session info |
delete-session \x3Csession_id> |
Delete a session |
Workflow
Step 1: Create a Session
# Use the CLI to create a session with the target agent
a2a-chatting.sh new-session \x3Cagent_id> "Discuss project structure"
# Returns: Session ID (e.g. 30d53db1-d1fd-41d8-a7f3-8373aa58a840)
Step 2: Send Message (via sessions_send)
# Use sessions_send tool with the format above:
sessions_send(
sessionKey: "\x3Ctarget agent session>",
message: "[From: Lewis] [fromAgentId: echi-ceo] [reply-to: \x3CsourceSession>] 早上好,请更新本周销售报告。"
)
Step 3: Receive Reply
The receiver's reply automatically routes back to your session via sessions_send source tracking.
Tips
- Session Reuse: Reuse existing sessions for ongoing conversations — agents maintain context
- Topic Naming: Use descriptive topics so you can find sessions later with
list-sessions - Format Strictly: Always use the
[From: ...]format — it identifies you in multi-agent conversations - reply-to vs DO NOT REPLY: Only use
reply-towhen you need a response. UseDO NOT REPLYfor notifications.
Examples
Create session with Anna
a2a-chatting.sh new-session echitech-marketing-manager-anna "Marketing sync"
# → Session ID: db4aaf45-dd47-4766-87d0-0c2f690e8797
Send a task request
sessions_send(
sessionKey: "agent:echitech-marketing-manager-anna:main",
message: "[From: Lewis] [fromAgentId: echi-ceo] [reply-to: \x3CsourceSession>] 请更新本周营销计划。"
)
Send a notification (no reply)
sessions_send(
sessionKey: "agent:echitech-sales-manager-victor:main",
message: "[From: Lewis] [fromAgentId: echi-ceo] [DO NOT REPLY] 今晚8点有全员会议,请准时参加。"
)
Storage
Session index: \x3Copenclaw_dir>/a2a-sessions/sessions.jsonl
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install a2a-chatting - After installation, invoke the skill by name or use
/a2a-chatting - Provide required inputs per the skill's parameter spec and get structured output
What is A2A Chatting?
Enable communication, coordination, and information exchange between OpenClaw agents through controlled multi-agent chat sessions. It is an AI Agent Skill for Claude Code / OpenClaw, with 311 downloads so far.
How do I install A2A Chatting?
Run "/install a2a-chatting" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is A2A Chatting free?
Yes, A2A Chatting is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does A2A Chatting support?
A2A Chatting is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created A2A Chatting?
It is built and maintained by Char Siu (@saullockyip); the current version is v0.4.0.