Skip to content
Roy Padina edited this page Aug 29, 2026 · 4 revisions

claude-jam

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

60 seconds

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.

Pages

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

Not built yet

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.

Repo

https://github.com/roypadina/claude-jamREADME.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.

Clone this wiki locally