p.enthalabs

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.