Skip to content

ofershap/clawgether

clawgether

Multiple developers. One AI agent. Same conversation.

Your teammate is talking to Claude. You're talking to Claude.
Same project. Neither of you knows what the other asked.
clawgether puts everyone in the same room.

Quick Start   Features   Self-Host

CI License: MIT TypeScript


Demo


One Agent, Multiple Devs

Every tool in this space runs multiple AI agents in parallel. More agents, more tokens, more cost, more conflict.

clawgether does the opposite. Two or more developers open a browser, join the same room, and talk to Claude together. Everyone sees every message. Responses stream in real-time. When Claude edits a file, everyone sees the diff. When it runs a command, everyone sees the output. Claude knows who said what and tracks context per person.

A shared AI session. Google Docs for coding conversations.

Dev A (browser) ──┐
Dev B (browser) ──┤
Dev C (browser) ──┤── WebSocket ──► Server ──► Claude Agent SDK
      ...         ┘                              │
                                                 ▼
                                         Your project folder
                                         (read, write, terminal)

The server runs on your machine. Claude operates on a real project folder with full filesystem access. Not a chat wrapper.


⚡ Quick Start

git clone https://github.com/ofershap/clawgether.git
cd clawgether
npm install
npm run dev

Open http://localhost:3847. Create a room, share the link.

Teammate is remote? One more line:

npx ngrok http 3847
# Share the https://abc123.ngrok-free.app URL

They open the link, type their name, they're in.


What You Actually Get

The Chat

Live streaming Claude's responses stream to everyone simultaneously
Message queue Send a message while Claude is mid-thought. It gets queued, not lost
Typing indicators See who's composing. The bouncing dots
@mentions Tag a teammate. Autocomplete kicks in after @
Reactions Quick emoji on any message. The small things matter
Notifications Tab title changes, browser notifications when you're alt-tabbed
Markdown Full rendering with syntax highlighting. Code blocks look good

The Agent

The Claude Agent SDK with full capabilities, not a REST wrapper.

File operations Read, write, create, delete. Your project, live
Terminal Runs shell commands, you see the output
Git awareness Branch, uncommitted changes, one-click undo
Code / Ask modes Full agent or discussion-only. Toggle in the sidebar
Auto-lint Runs your linter after changes
Repo map Extracted symbols from your codebase. Claude sees structure

The Sidebar

Participants Who's online, who's offline
Git status Branch, ahead count, last commit
File context Which files Claude touched, color-coded by action
Cost tracking Per-message estimates. Know what you're spending
Session export Download the full conversation as JSON
Claude Code import Had a session in Claude Code? Import it into the room
Auto-summary One click to summarize the conversation so far

Authentication

Method How
OpenRouter One-click OAuth login. Free account, access Claude
API Key Paste sk-ant-... or sk-or-... directly

Keys live in server memory. Never touch disk.


Why Not Just Share a Screen?

You've tried the alternatives:

  • Screen share while one person drives. Everyone else watches, gets bored, checks Slack
  • Take turns. Lose context every handoff. "Wait, what did you ask it?"
  • Separate sessions. Everyone talking to Claude about the same project. Duplicate work, contradicting instructions, wasted tokens

clawgether fixes this because the conversation is the collaboration. Everyone contributes. Everyone sees what's happening. One agent, no conflict, no duplication.


Architecture

Component Purpose
server.ts HTTP + Socket.io server on top of Next.js
src/server/room-manager.ts Room lifecycle, participants, message queue
src/server/agent-session.ts Claude Agent SDK, streaming, tool calls
src/server/git-service.ts Git status, diff, undo
src/server/cc-sessions.ts Parse Claude Code session history
src/components/ React UI: chat, sidebar, modals
src/lib/store.ts Zustand client state

Stack: Next.js 16 · Socket.io · Claude Agent SDK · Zustand · Tailwind · TypeScript (strict)


Self-Hosting

The agent spawns a long-lived process and needs filesystem access. Serverless won't work.

Platform Notes
Your laptop + ngrok Fastest. Zero setup
Railway Persistent containers. $5/mo free credit
Fly.io Long-running VMs, persistent volumes
Any VPS Full control
npm run build
npm start

Contributing

See CONTRIBUTING.md.

Security

See SECURITY.md.

Author

Made by ofershap

LinkedIn GitHub

License

MIT © Ofer Shapira

About

Multiplayer coding rooms with Claude. Multiple developers, one AI agent, real-time collaboration.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages