Claude Jam banner
roypadina roypadina

Claude Jam

Development community

Description

Share one real Claude Code session with other humans — attributed messages, human-only side channel, live mirror of the host's TUI.

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

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, 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

Requirements

  • node ≥ 22, tmux, and the claude CLI on PATH
  • optional: ttyd for the browser view (--view), cloudflared for --tunnel, tailscale for --funnel, git for /diff, pngpaste for /paste (macOS falls back to osascript)

**Hosting** a jam is macOS and Linux, because the host is tmux. Windows can host through WSL2 (tmux and `claude` both run inside the distribution, and so does claude-jam).

**Joining** is macOS, Linux and — as of v0.32 W1 — Windows, natively: node ≥ 22 and Windows Terminal, no WSL and no tmux. Read the honest state of that below before you rely on it.

The bell is portable. The desktop notification and the join/knock sounds beside it are macOS (`osascript`, `afplay`) and Windows (PowerShell); Linux uses `paplay`/`aplay` if they are there.

The Windows client, honestly (v0.32 W1)

It is **implemented and unit-tested on real Windows in CI, and no human has ever run it.** Nobody on this project has a Windows machine. Every decision the Windows code makes — the PowerShell argv for a clipboard read, the `%APPDATA%` path, the ACL that replaces `0600`, the `%WINDIR%\Media` sound table, the key sequences