We built multiplayer for Claude

Claude Code has session handoff for your own devices, but there was no way for me and a friend on separate accounts to have our sessions talk to each other. So I made an MCP server that does it, and I wanted it to work without any central server or relay. How it works: You run create_invite , get a short single-use code (like X7KQ-2MPF-3HV9 ), and send it to your friend over whatever channel you already use. They run join_room with the code, and the two sessions connect directly. Under the hood it uses Hyperswarm: peers find each other on the public DHT, hole-punch a direct connection, and everything is end to end encrypted with Noise. Nothing is hosted. Why the code can be short: it is only a pairing secret, not the room key. Both sides stretch it with argon2, meet at a DHT rendezvous derived from it, prove they know it, and then the real 256-bit room key is exchanged over that authenticated channel. The code is single use and expires in 15 minutes. Message delivery is built around how Claude Code actually surfaces things: normal messages arrive when the recipient's Claude finishes its current turn interrupt barges in mid-turn for urgent stuff ("stop, I'm pushing a fix for that") passive just sits in an inbox until they check it It does groups, not just pairs, and offline members catch up because whoever did get a message relays it when the offline person returns. Store and forward through friends, no server. On security, since messages get injected into a live agent I treated it as a real threat surface. Inbound messages are framed as untrusted data, never instructions. During my own review I found and fixed a path-traversal bug (a peer-chosen message id was becoming a filename), added a regression test for it, and hardened the denial-of-service surface. The README has an honest limitations section: a room key is a shared symmetric secret with no revocation, so it is meant for friends you trust, not zero-trust or anonymous use. It is open source, MIT licensed, and install is a clone plus one command. Built by Einar Holt at Wybe Labs, the R&D part of Wybe Robotics. Repo: github.com/wybe-labs/claude-together Happy to answer questions about the design, and feedback is welcome, especially on the NAT traversal edge cases since that is the one thing I cannot fully test alone.

添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论