From claude-spread
Shares selected Claude Code sessions: scans files, builds catalog, encrypts with passphrase, serves via mDNS or WebSocket relay for browsing/resuming.
npx claudepluginhub namyunwoo/claudespread --plugin claude-spreadThis skill uses the workspace's default tool permissions.
You are sharing your Claude Code sessions so another user can browse and resume them.
Browse shared Claude Code sessions from another user via LAN or relay, select one, decrypt with passphrase, and install locally as JSONL conversation history.
Export and import Claude Code sessions to JSON files for secure, private sharing between developers via direct file transfer.
Transfer Claude Desktop Code-tab sessions between Claude accounts — copy (default) or move (--move) the session metadata file so the session shows up in another account's left-hand sidebar (the session picker on the left side of Desktop's Code tab). Two natural framings: push (run while still on your current near-limit account, send sessions to the next one, then Logout/Login as the natural switch) or pull (after switching accounts, bring earlier sessions into the now-active one). Push is the recommended workflow because the Logout/Login becomes invisible — it IS the switch you were going to do anyway. Triggers on: summon, summon sessions, push sessions, pull sessions, before switching accounts, account approaching usage limit, account ran out of usage, prepare next account, mid-flight desktop sessions, claude desktop multi-account workflow, transfer claude desktop sessions across accounts, peek session, see desktop sessions across accounts. Default copy keeps the session visible in both accounts' sidebars; --move for lean cleanup. Transcript JSONLs are account-agnostic and stay where they are — both wrappers point at the same conversation. No API calls, no summarisation, full transcripts intact. The left-hand session picker is loaded at login, so a Logout/Login on the destination is required for new sessions to appear there.
Share bugs, ideas, or general feedback.
You are sharing your Claude Code sessions so another user can browse and resume them.
Warning: Session files contain full conversation history. Only share with trusted recipients.
Scan all session .jsonl files and build a catalog:
mkdir -p ${CLAUDE_PLUGIN_ROOT}/.tmp
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/build_sessions_catalog.py ${CLAUDE_PLUGIN_ROOT}/.tmp/claude-sessions-catalog.json
If no sessions are found, tell the user there are no sessions to share and stop.
Read the generated catalog file:
cat ${CLAUDE_PLUGIN_ROOT}/.tmp/claude-sessions-catalog.json
Display the sessions list to the user, sorted by modified (newest first). For each session show:
Ask the user to confirm which sessions to share (all, or a subset by number).
If the user picks a subset, update the catalog file to include only the selected sessions.
Run the serve_sessions.py script:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/serve_sessions.py "{{passphrase}}" ${CLAUDE_PLUGIN_ROOT}/.tmp/claude-sessions-catalog.json
This will:
_claude-sessions._tcp.)Tell the user:
/sessions-receive {{passphrase}}--keep-open)If the user wants to share with multiple people, use --keep-open <minutes>:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/serve_sessions.py --keep-open 10 "{{passphrase}}" ${CLAUDE_PLUGIN_ROOT}/.tmp/claude-sessions-catalog.json
This keeps the server open for the specified number of minutes, allowing multiple receivers to connect. The server shuts down automatically when time expires.
If the user passes --relay, use the relay server:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/serve_sessions.py --relay "{{passphrase}}" ${CLAUDE_PLUGIN_ROOT}/.tmp/claude-sessions-catalog.json
This will:
wss://relay.fireamulet.comTell the user:
/sessions-receive --relay --room <room_code> {{passphrase}}--keep-open <minutes>pip install websockets if not already installed