Back
RCreddit.com
13
·12 hr ago·Dev community · RSS

We built multiplayer for Claude

View original
ClaudeOn-device

Heat trend

Collecting trend data

The percentage is based on available heat signal, not comment count or independent people.

AI summary

A developer created a multiplayer server for Claude, enabling separate accounts to interact, a feature not natively supported by Claude Code's session handoff. The system uses a short, single-use pairing secret that expires in 15 minutes. This secret is stretched with argon2, used to establish a DHT rendezvous, and then an authenticated channel exchanges a 256-bit room key. The developer is seeking feedback, particularly on NAT traversal edge cases.

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.

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

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

- interrupt barges in mid-turn for urgent stuff ("stop, I'm pushing a fix for that")

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.

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.

We built multiplayer for Claude · BuzzRadr