-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Share one real, interactive Claude Code session with other humans on other machines.
The host keeps the native claude TUI — their own plugins, skills, MCP servers, CLAUDE.md,
hooks and account. Everyone, host included, joins from a terminal client whose default view is
that TUI, streamed live. The agent is told the session is shared and sees who wrote each
message. Humans also get a side channel the agent never sees.
Roy (host) Dana Eli
client ─────┐ client ────┐ client ────┐
└──────── WS ───────┴─────────────┘
│
host.mjs daemon ── types into ──▶ the real `claude` TUI
└── capture-pane ──▶ the live view everyone watches
brew install roypadina/tap/claude-jam
# host: start a jam in this directory
claude-jam host --name Roy --cwd .
# host: mint a link for one person, and send it to them privately
claude-jam invite Dana
# Dana, on her machine: the link is her whole command
claude-jam join cjam1_eyJ2IjoxLCJqYW0i…claude-jam with no arguments opens a launcher menu instead: Host a jam · Join a jam ·
My jams · End a jam. It prints the exact command line before it runs it, so the menu teaches
the CLI rather than replacing it.
The command is claude-jam. jam is still installed as a deprecated alias of it.
| page | what it answers |
|---|---|
| Install | brew and from-source, what has to be on PATH, and how to check the install worked |
| Agent-Install | point an agent here. Numbered, non-interactive commands, what to verify after each, what needs a human, what must never be done, and a self-test |
| Hosting a Jam | starting one, every flag, letting people in, ending it |
| Joining a Jam | the guest's whole world: joining, the two views, every command, the keys |
| Remote Access | LAN, Tailscale, --tunnel, --funnel, and what breaks over a long session |
| Files and Export |
/send, /paste, /get, /export, and resuming a transcript on your own machine |
| Security Model | which gates are real, which are only instructions to the model, and what to assume |
| Architecture | tmux + WebSocket + JSONL tail, the frame pipeline, the approval ladders, the hooks |
| Troubleshooting | the failures people actually hit |
These are designed in SPEC.md and do not exist in the shipped tool. If a page here does
not describe something, assume it is not there:
- LAN discovery and named jams (
claude-jam join --name <jam>with no address) - join/knock sounds
-
/nudge— getting another human's attention - auto-allowing uploads from an already-admitted guest
- guest-side scrollback beyond the replayed history
- peer tasks (the host's agent dispatching work to a guest's own Claude)
- Windows. macOS and Linux only. The platform seam exists; no Windows implementation does.
https://github.com/roypadina/claude-jam — README.md is the tour, MANUAL.md is what claude
itself is given, AGENTS.md is for an agent changing the code, SPEC.md is the design record.