Evidence Every claim on this site is backed by a test or a recorded run in the repository. What is proven, and what is still unverified, is listed in docs/VERIFICATION.md.

Claude Code plugin v0.1.0 MIT

Multiplayer Claude Code for teams on any laptop.

Synchrobuilder does two jobs at once. It keeps a project running on macOS, Windows and Linux while Claude writes code, catching the import casing and the Unix-only script before they reach a teammate's machine.

And it lets several developers work in one repository at the same time, each with their own Claude, each aware of what the others are touching. Presence travels through the git remote you already have, so there is nothing to host and no account to create.

Test suite
245 244 pass, 1 skipped
CI matrix
8 jobs, three operating systems
Hook cost
21–26 ms per hook, on macOS
Dependencies
0 plain Node, no build step
Install · one command published
npx synchrobuilder@latest install
It prints the two Claude Code commands it is about to run, asks, then runs them. --uninstall reverses it, and running it twice changes nothing the second time.
Or inside Claude Code · two commands published
1/plugin marketplace add RyanNorouzi/synchrobuilder
2/plugin install synchrobuilder@synchrobuilder
Needs Claude Code, Node.js 20 or newer on PATH, and git. Prerequisites and per-OS troubleshooting are on the Install page.

The two halves

01 · Portability

Code that runs on the other two operating systems

Twelve rules. Four of them have a fixer; the rest are reported with the change to make by hand.

  • Audit reports import casing, Unix-only scripts, hardcoded paths, line endings, Windows-illegal filenames, native binaries and one-OS instructions.
  • Fix covers import casing, line endings, hardcoded paths and Unix-only scripts, and shows every change as a diff before applying it.
  • A guard re-reads each file Claude edits and warns it in the same turn when the edit just broke another platform.
  • Manifest, setup, doctor and a CI generator record what the project needs, plan the install for this machine, name what differs, and write a three-OS workflow.
02 · Multiplayer

Each Claude knows what the other developers are doing

One small git ref per person. Nothing merges, nothing is hosted, nothing is signed up for.

  • A session digest on start: who is active, which claims touch your files, messages for you, handoffs since you left.
  • Collision warnings before an edit, at most once per file every thirty minutes, never blocking.
  • Claims, messages, a task board and structured handoffs built from what your session already records.
  • Offline is normal. Work queues locally and reaches the team on the next successful push.

The floor it will not go below

These four hold whether the network is up, whether a teammate is hostile, and whether Synchrobuilder itself is working.

Never blocks you
Every hook exits cleanly with no output on any internal error and writes the detail to a local log. Offline, slow or broken, you keep coding.
Never sends your code
Only a handle, a branch name, a task summary of at most 140 characters, repo-relative paths, short messages and handoff notes leave the machine, all after secret redaction. Never prompts, transcripts, file contents, diffs or environment variable values.
Treats teammates as untrusted
Text arriving from another machine is sanitised and wrapped in a labelled block that tells Claude it is data, not instructions. Identity is a claim, not authentication.
Asks before it changes anything
Anything that touches your machine shows the full plan and asks before each step, with exact versions pinned. No silent sudo.

What is actually proven

This site claims nothing that a test or a recorded run in the repository does not already show.

Both halves are built and shipped. The suite is 245 tests, 244 passing and 1 skipped, and the CI matrix runs it on ubuntu, macOS and Windows across Node 20 and Node 24, plus a Windows job that checks the repository out with CRLF line endings and a job that validates both manifests under --strict. All eight pass.

Proven by a test or a recorded run: two developers on one machine against one bare remote see each other's presence, raise a collision warning from a claim, exchange a message and receive a handoff, with neither working copy touched; a live Claude Code session quotes the guard's note back in the same turn it made the edit; a missing node leaves the session working and the plugin silent; and a claim made while the remote is unreachable queues locally and arrives once it is back. The background worker that carries all of this is itself covered end to end: a session spawns it, a second worker refuses to start beside it, and when the session closes it finishes a last tick, delivers a claim made moments earlier, then exits and releases its lock. That runs on all three operating systems in CI.

Still unverified, and so claimed nowhere: the permission prompt and the status line as a terminal renders them, plugin monitors, custom refs on GitLab, Bitbucket and Azure DevOps, branch protection rules refusing the state ref, the bare /audit short form in the command menu, and resolving package managers without a shell on Windows. The full ledger is docs/VERIFICATION.md, and a pull request that adds a capability adds its row there or the claim does not ship.

macOSWindowsLinuxrecorded run · macOS · claude 2.1.218
$ claude plugin validate plugins/synchrobuilder --strict
Validating plugin manifest: …/plugins/synchrobuilder/.claude-plugin/plugin.json

✔ Validation passed

$ claude -p "Create hello.txt … then list every SYNCHRO-TOKEN you can see" --plugin-dir …/plugin --output-format stream-json …
# result event, is_error: false, num_turns: 2
SESSIONSTART
PROMPT
PREEDIT
POSTEDIT

Those four tokens are markers the experiment hooks injected from SessionStart, UserPromptSubmit, PreToolUse and PostToolUse. Claude listing them back is what proves the hook context arrived. The full experiment log is in docs/research/experiments.md.