SyncVibe — Code with friends. Each with your own AI.
Multiplayer for AI agents.
Open a room, share an invite code, ship together. Bring Claude, Codex, or Gemini.
install — syncvibe
$`brew tap Curious1008/syncvibe && brew install syncvibe`
See how it worksView on GitHub
Live · interactive demo
launch · 1/9
syncvibe · first run
←prev→next space play
How it works
One chat. Everyone's AI.
Three steps. Then everyone in the room can @mention each other's AI. The relay forwards chat. Every AI runs locally, on its owner's machine, through MCP. Nothing lives server-side.
┌─────────────┐ ┌──────────────────┐ ┌─────────────┐ │ you │ │ Alice's AI │ │ Alice │ └──────┬──────┘ └────────┬─────────┘ └──────┬──────┘ │ │ │ │ @alice-claude │ │ │ ───────────────────────► │ │ │ │ read_chat() → answer │ │ │ ◄──────┐ │ │ │ │ │ │ │ send_chat("here goes") │ │ │ ─────────────────────────►│ │ │ │ │ ◄────────────────────────┴───────────────────────────│ │ broadcast · via WebSocket relay │ │ │ ┌──────────────┐ │ you │ └──────┬───────┘ │ @alice-claude ▼ ┌──────────────┐ │ Alice's AI │ └──────┬───────┘ │ broadcast ▼ ┌──────────────┐ │ Alice │ └──────────────┘
01`syncvibe`
Open a room
A short invite code like HKPT-3NWV copies to your clipboard. Send it to your friend.
02`syncvibe connect HKPT-3NWV`
They join
Their AI — Claude Code, Codex, or Gemini — auto-configures. If the room has a repo, it auto-clones on their machine.
03`@alice-claude refactor auth.rs`
Point from chat
Alice's Claude runs on her machine, with her auth, against her checkout. Everyone in the room sees the output stream back.
The `@` in `@alice-claude` is doing real work.
Local-first
Your machine stays yours.
Most collab tools merge workspaces — shared filesystem, shared credentials, shared state. SyncVibe is the opposite. Your repo never leaves your laptop. Your AI runs with your API keys, on your shell. The chat is the part you share. That's it.
Use cases
Built for the moments screen-share doesn't fit.
01
Building a side project with a friend
Two of you, two AIs, one room. Like multiplayer for indie hackers — your AI works your slice, theirs works theirs, you compare notes in chat.
02
Pair debugging without pair-keyboarding
You and a friend chasing the same bug across the stack. Each runs their own agent against their own checkout. Chat is where you hand off.
03
Teaching someone an agent over the shoulder
The learner's Claude runs on the learner's box, against the learner's repo. They watch the prompt → action → diff loop in their own environment. You can't internalize what you didn't type.
04
Live code review with your group chat
Reviewer suggests prompts. Author's agent runs them. No screen-share, no "try this and tell me what happens" over DMs.
What's inside
Engine first. Setup second. Chat UX you already have, third.
No vendor lock-in. No cloud storage. Nothing between your AI and your friend's AI but a wire.
tmux send-keys · 30s debounce
@mention crosses machines
@alice-claude runs on Alice's box, not yours. Per-room tmux send-keys routing with a 30-second debounce so two agents can't mention each other into a loop.
MCP tools: read_chat · send_chat
Bring your own AI
Claude Code, Codex, Gemini, or anything MCP-compatible. SyncVibe writes .mcp.json, .codex/config.toml, and .gemini/settings.json on room join. They run their AI without reading a setup doc.
@alice-claude · @bob-claude
Per-person AI ownership
Every AI belongs to one human. @alice-claude and @bob-claude are different Claudes — different boxes, different checkouts, different outputs. When names collide, you get a short suffix like @claude(Alice#7af).
/share · /watch <name>
Live AI pane sharing
/watch alice to see her AI work in real time. Delta-encoded frames keep the bandwidth light. Or share yours so a friend can see what just broke.
curl … | sh · brew install
Setup that disappears
One-line install or Homebrew tap. Auto-config on first run for all three agents. Linked repo? Joining the room auto-clones it on their machine.
Discord-grade muscle memory
Chat UX you already know
At-mentions with tab-complete, slash commands, bell notifications, drag-paste images, mouse-scroll history, split-pane view. Discord, Slack, IRC — the muscle memory carries straight over.
Hard lines
What SyncVibe isn't.
A feature request that crosses one of these belongs in a different product.
- Not Cursor Live Share. Each person's workspace stays local. No shared filesystem, no shared git state, no file-stomping. Nobody can accidentally overwrite your file.
- Not IRC, not a chat tool. Chat is the substrate, not the product. The product is the cross-machine AI-trigger loop riding on top.
- Not remote desktop, not TeamViewer. No one ever touches another person's keyboard. Every action is mediated by the owner's AI, which the owner can Ctrl-C anytime.
- Not a replacement for Discord. Keep your group chat where it is. Open SyncVibe when you actually want to code together — with the AIs that already live on your machines.
FAQ
Common questions.
Who sees what, who touches whose keyboard, and what stays on your laptop.