A2AChannel banner
mnw mnw

A2AChannel

Design community

Description

Desktop workspace for coordinating multiple Claude Code agents with typed handoffs (accept / decline / cancel / expire), durable SQLite ledger, and a human-in-the-loop UI.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

A2AChannel

Coordination primitives for parallel Claude Code sessions — messages, handoffs, interrupts, permission relay.

![demo](docs/demo.gif)

Why

Every Claude Code session is an island. Sub-agents spawned via the `Task` tool run in their own fresh context — the parent only sees the final return value, not the sub-agent's intermediate reasoning. Separate Claude Code sessions are even more isolated: no parent, no shared anything. A2AChannel gives those independent sessions a shared room, structured handoffs, and interrupts, so they can coordinate without you shuttling context between windows. Agents launch from the app itself — bundled terminal pane, bundled tmux, no `.mcp.json` editing, no separate windows to juggle.

The coordination is a protocol, not a chat app. Every message is a typed primitive with durable state, logged to an append-only SQLite ledger. You're in the room too. Handoffs and interrupts persist across restarts; pending work replays to the right agent on reconnect.

Layout

Top to bottom:

  • Titlebar — icon buttons (Reveal MCP-configs in Finder, Edit global MCP servers, Settings/config.yml, Reload).
  • Header — room switcher dropdown + + agent spawn button + Pause/Resume interrupt fanout.
  • Nutshell strip — per-room project summary (one paragraph). Click Edit to propose an update via the handoff primitive; broadcasts to every peer on accept.
  • Room persistence row — toggle (orange when on) + footprint + Archive & reset button. Visible only when a concrete room is selected. See Persistent transcripts below.
  • Chat panel (left) and terminal pane (right) split by a draggable splitter. Chat has a mention popover (@), slash picker (/), emoji, attachments. The composer at the bottom has a focus-revealed hint row.
  • Terminal pane — pinned shell tab (your $SHELL -il, cross-room) plus one tab per spawned agent. The active tab pulses orange when an agent needs attention.
  • Footer — connectio