Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Multi-human collaboration on a single Claude Code session. /collab-claw:host opens a room; teammates join via the collab-claw CLI from their own terminals.
npx claudepluginhub sankalpgunturi/collab-claw --plugin collab-clawApprove a pending collab-claw join request. Use only when the user explicitly types /collab-claw:approve <id> or after the user agrees to admit a teammate whose request was announced as `[collab-claw] Sankalp wants to join...`. Runs `collab-claw-approve <id>` via Bash.
End the current collab-claw room. Use only when the user explicitly types /collab-claw:end. Runs `collab-claw-end` via Bash and prints output verbatim.
Start a collab-claw room for the current Claude session. Use only when the user explicitly types /collab-claw:host. Runs `collab-claw-host` via Bash and prints its output verbatim, then keeps the host instructions below in mind for the rest of the session.
Remove a teammate from the collab-claw room (or deny a pending join request). Use only when the user explicitly types /collab-claw:kick <name-or-id>. Runs `collab-claw-kick <target>` via Bash.
Show the current collab-claw room status (member list, join URL). Use only when the user explicitly types /collab-claw:status. Runs `collab-claw-status` via Bash and prints output verbatim.
Matches all tools
Hooks run on every tool call, not just specific ones
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Memory compression system for Claude Code - persist context across sessions
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.
Spike A — UserPromptSubmit broadcast verification.
Spike B — production-path host monitor wakeup verification.
Spike C — production-shape plumbing test (relay + monitor + Stop hook + bin/host skill).
Pair-program with one Claude across multiple laptops.
collab-claw lets a group of teammates collaborate inside a single
Claude Code session. The host runs Claude as usual; teammates connect
from their own laptops via a small CLI and see the conversation live.
Their prompts get prefixed with their name ([Sankalp]: ...) and
delivered to the host's Claude as if they had typed them locally.
┌────────────────────────┐ ┌────────────────────────┐
│ Surya (host) │ │ Sankalp / Abhinav │
│ ───────────── │ │ ─────────────── │
│ $ claude │ │ $ collab-claw join \ │
│ > /collab-claw:host │ join-url + DM │ http://...#secret=… │
│ ┃ relay :7474 │ ───────────────► │ ┌──────────────────┐ │
│ ┃ monitor (always-on) │ │ │ TUI │ │
│ ┃ hooks (Stop, …) │ joiner prompts │ │ status bar │ │
│ ┗━━━━━━━━━━━━━━━━━━━┓ │ ◄──────────────── │ │ transcript │ │
│ billed to host ┃ │ host responses │ │ prompt │ │
└─────────────────────┻─┘ ────────────────► └──┻──────────────────┘──┘
You need Node.js ≥ 18 on every machine. The host also needs
Claude Code (the claude CLI).
# from a git checkout (works today):
git clone https://github.com/sankalpgunturi/collab-claw.git
cd collab-claw
npm link # installs `collab-claw` globally
# (npm publish coming; once live: npm install -g collab-claw)
In a Claude Code session on the host's machine:
/plugin marketplace add sankalpgunturi/collab-claw
/plugin install collab-claw
Restart claude (or /plugin reload).
collab-claw set-name Sankalp
In Claude Code on the host's machine:
/collab-claw:host
Claude will print your join URL:
collab-claw room is live.
relay: http://10.0.0.42:7474
host: Surya
roomId: ab3K9z
join URL (DM this to teammates):
http://10.0.0.42:7474#secret=XXXXXXXXXXXXX
DM that URL to your teammates. Then keep working with Claude as you normally would. When a teammate joins, you'll see:
[collab-claw] Sankalp wants to join the room. Approve with /collab-claw:approve <id>
Run /collab-claw:approve <id> (or /collab-claw:kick <id> to deny).
When you're done:
/collab-claw:end
In any terminal on a teammate's machine:
collab-claw set-name Sankalp # one-time
collab-claw join http://10.0.0.42:7474#secret=XXXXXXXXX
You'll see a TUI with the host's transcript scrolling. Type a prompt
and hit Enter — it'll be delivered to the host's Claude as
[Sankalp]: <your prompt>. Press Ctrl-C to leave.
collab-claw status # show current room state
collab-claw leave # leave (joiner)
collab-claw end # tear down the room (host)
# All work from /slash inside Claude too:
/collab-claw:host
/collab-claw:end
/collab-claw:status
/collab-claw:approve <id>
/collab-claw:kick <name>
/collab-claw:host spawns a small Node HTTP+SSE relay on the host's
LAN (default port 7474), mints a room secret + host token, writes
~/.collab-claw/session.json, and prints a join URL containing the
secret in the URL fragment.
The plugin's always-on monitor (started by Claude Code at session
start) reads session.json to decide whether the room is live. If yes,
it opens an SSE connection to /prompt-stream and emits incoming
joiner prompts as [Name]: <text> lines on stdout — Claude treats
these as user notifications and wakes up to respond.
The plugin's Stop hook runs after each Claude turn, parses the
transcript JSONL, extracts the last assistant message, and POSTs it to
/events. The relay fans this out to all subscribed joiner CLIs over
/transcript-stream.
PreToolUse and PostToolUse hooks send compact summaries
(e.g. ▸ wants to run Bash: npm test → ✓ Bash: npm test) so joiners
can watch what Claude's doing in real time.
UserPromptSubmit hook forwards the host's own typed prompts to
the relay so joiners see both sides of the conversation.