io.github.saicharanrajoju/letswork
LetsWork
Kollaboratives Programmieren in Echtzeit über Claude Code — zwei Entwickler, eine Codebasis, jeder mit seinem eigenen Claude-Abonnement.
Ein Entwickler hostet die Sitzung. Der andere tritt von überall bei. Beide erhalten ein Claude-Code-Fenster, das live mit demselben Projekt verbunden ist — mit Dateisperren und einem Genehmigungssystem zur Vermeidung von Konflikten.
So funktioniert es
Der Host führt
letswork startin seinem Projektordner ausÜber Cloudflare wird automatisch ein sicherer HTTPS-Tunnel erstellt
Eine Einmal-URL und ein Gast-Token werden generiert und ausgegeben
Der Host teilt den Join-Befehl mit dem Gast
Der Gast führt
letswork join <url> --token <token>auf seinem Rechner ausBeide Entwickler haben jetzt Claude Code mit derselben Codebasis verbunden
Related MCP server: claude-switchboard
Voraussetzungen
Voraussetzung | macOS | Windows (WSL) |
Python 3.10+ |
| In Ubuntu WSL enthalten |
cloudflared |
| Siehe WSL-Abschnitt unten |
Claude Code |
|
|
Node.js |
|
|
macOS — Host-Einrichtung
Der Host ist der Entwickler, dem das Projekt gehört. Du startest die Sitzung und teilst den Join-Befehl.
Schritt 1 — Abhängigkeiten installieren
brew install cloudflared
pip install letsworkSchritt 2 — Claude Code installieren
npm install -g @anthropic-ai/claude-codeSchritt 3 — Die Sitzung starten
Navigiere zu deinem Projektordner und führe Folgendes aus:
cd /path/to/your/project
letswork startDu wirst nach deinem Anzeigenamen gefragt, dann erscheint ein Sitzungsfenster:
╔══════════════════════════════════════════════════════════════════════╗
║ 🤝 LetsWork Session Active ║
║ ║
║ Send this command to your collaborator: ║
║ letswork join https://abc123.trycloudflare.com --token a1b2c3d4 ║
║ ║
║ Press Ctrl+C to stop. ║
╚══════════════════════════════════════════════════════════════════════╝Kopiere den vollständigen letswork join ...-Befehl und sende ihn an deinen Kollegen.
Zwei neue Terminalfenster öffnen sich automatisch:
Claude Code — bereits mit LetsWork verbunden
Ein Chatfenster zur Kommunikation mit deinem Kollegen
Schritt 4 — Gaständerungen genehmigen
Wenn der Gast eine Datei bearbeitet, siehst du eine Benachrichtigung in Claude Code. Frage Claude:
get_pending_changesGenehmige oder lehne dann ab:
approve_change <id>
reject_change <id>Schritt 5 — Die Sitzung beenden
Drücke Ctrl+C in dem Terminal, in dem du letswork start ausgeführt hast.
macOS — Gast-Einrichtung
Der Gast verbindet sich mit dem Projekt des Hosts. Du benötigst den Join-Befehl vom Host.
Schritt1 — Abhängigkeiten installieren
brew install cloudflared
pip install letsworkSchritt2 — Claude Code installieren
npm install -g @anthropic-ai/claude-codeSchritt3 — Der Sitzung beitreten
Führe den Befehl aus, den dir der Host gesendet hat:
letswork join https://abc123.trycloudflare.com --token a1b2c3d4Du wirst nach deinem Anzeigenamen gefragt. Dann öffnen sich zwei Fenster:
Claude Code — mit dem Projekt des Hosts verbunden
Ein Chatfenster zur Kommunikation mit dem Host
Schritt4 — Dateien bearbeiten
Bite Claude, Dateien wie gewohnt zu lesen und zu bearbeiten. Wenn du eine Datei schreibst, landet sie in einer Genehmigungs warteschlange — der Host prüft sie, bevor sie auf die Festplatte geschrieben wird. Du erhältst eine Benachrichtigung, wenn sie genehmigt oder abgelehnt wird.
Windows — Gast-Einrichtung (WSL)
LetsWork läuft innerhalb von WSL (Windows Subsystem for Linux). Die Gast-Erfahrung ist dieselbe wie unter macOS, sobald WSL eingerichtet ist.
Schritt 1 — WSL aktivieren und Ubuntu installieren
Öffne PowerShell als Administrator und führe Folgendes aus:
wsl --installStarte deinen Computer neu, wenn du dazu aufgefordert wirst. Ubuntu wird automatisch installiert.
Öffne Ubuntu über das Startmenü und richte deinen Linux-Benutzernamen und dein Passwort ein.
Schritt2 — Abhängigkeiten in Ubuntu installieren
Öffne Ubuntu und führe diese nacheinander aus:
# Update packages
sudo apt update && sudo apt upgrade -y
# Install Python
sudo apt install python3 python3-pip -y
# Install Node.js and npm
sudo apt install nodejs npm -y
# Install cloudflared
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o cloudflared
chmod +x cloudflared
sudo mv cloudflared /usr/local/bin/
# Install letswork
pip3 install letsworkSchritt3 — Claude Code in Ubuntu installieren
npm install -g @anthropic-ai/claude-codeSchritt4 — Der Sitzung beitreten
Führe den Befehl, den dir der Host gesendet hat, in Ubuntu aus:
letswork join https://abc123.trycloudflare.com --token a1b2c3d4Du wirst nach deinem Anzeigenamen gefragt. Claude Code startet direkt im selben Terminalfenster.
Hinweis für Windos-Benutzer: Claude Code läuft im WSL-Terminal — nicht in einem separaten Fenster. Alles andere funktioniert genauso wie unter macOS.
Verfügbare MCP-Tools
Sowohl Host als auch Gast haben in Claude Code Zugriff auf diese Tools:
Tool | Wer kann nutzen | Beschreibung |
| Beide | Listet Dateien und Verzeichnisse mit Sperrstatus auf |
| Beide | Liest Dateiinhalte (1-MB-Limit, nur Textdateien) |
| Beide | Reicht eine Dateiänderung ein (Gaständerungen benötigen die Freigabe des Hosts) |
| Beide | Sperrt eine Datei zur exklusiven Bearbeitung |
| Beide | Gibt die eigene Dateisperre frei |
| Beide | Zeigt Sitzungsinformationen, verbundene Benutzer und aktive Sperren |
| Beide | Kurzübersicht, was Aufmerksamkeit erfordert |
| Beide | Überprüft die Verbindung zum MCP-Server des Hosts |
| Nur Gast | Legt deinen Anzeigenamen für die Sitzung fest |
| Nur Gast | Zeigt deine eingereichten, auf Freigabe wartenden Änderungen |
| Nur Host | Zeigt alle auf Freigabe wartenden Änderungen mit Diffs |
| Nur Host | Genehmigt eine ausstehende Änderung und schreibt sie auf die Festplatte |
| Nur Host | Lehnt eine ausstehende Änderung ab |
| Nur Host | Erzwingt das Aufheben einer hängenden Dateisperre |
Genehmigungsablauf
Dateischreibvorgänge des Gasts gehen nicht direkt auf die Festplatte — sie durchlaufen die Genehmigungswarteschlange des Hosts:
Der Gast bittet Claude, eine Datei zu bearbeiten →
write_filereicht die Änderung einDer Host sieht:
📝 guest submitted change to server.py (ID: a1b2c3)Der Host fragt Claude:
get_pending_changes— sieht einen vollständigen DiffDer Host genehmigt:
approve_change a1b2c3→ die Datei wird auf die Festplatte geschriebenOder er lehnt ab:
reject_change a1b2c3→ der Gast wird benachrichtigt
Sicherheit
Zufällige Cloudflare-Subdomain — URL ist nicht erratbar
Kryptografisches Token — zweite Authentifizierungsebene zusätzlich zur URL
Der gesamte Datenverkehr ist per HTTPS verschlüsselt
Schutz vor Path-Traversal — der Gast kann nicht auf Dateien außerhalb des Projektverzeichnisses zugreifen
Dateisperren laufen nach 30 Minuten automatisch ab
Keine Konten, keine Anmeldung, keine dauerhaften Zugangsdaten — die Sitzung endet, wenn der Host sie beendet
Einschränkungen
Maximal 2 Benutzer pro Sitzung (Host + 1 Gast)
Nur Textdateien — Binärdateien werden nicht unterstützt
Dateigrößenlimit von 1 MB pro Lese-/Schreibvorgang
Der Gast hat keinen Shell-Zugriff — nur Dateioperationen
cloudflaredmuss auf der Host-Maschine installiert sein (der Gast benötigt es unter macOS nicht, WSL-Gäste jedoch schon)
CLI-Referenz
letswork start [--port PORT] [--debug] # Start a session (default port: 8000)
letswork join <URL> --token <TOKEN> # Join a session as guestArchitektur
Host Machine:
[Project Files] ← [MCP Server :8000] ← [Cloudflare Tunnel] ← HTTPS URL
↑
Guest connects here
via stdio proxy + secret tokenDer Gast verbindet sich über einen stdio-Proxy und nicht direkt über HTTP — das vermeidet Zuverlässigkeitsprobleme mit Cloudflare SSE und sorgt für eine stabile MCP-Verbindung.
Lizenz
MIT — siehe LICENSE
Erstellt mit dem Model Context Protocol.
This server cannot be deployed
Maintenance
Related MCP Connectors
The team layer for AI coding agents: shared contracts, collision alerts, E2EE sessions.
Shared workspace where Claude, ChatGPT, Codex and Grok share files, tasks, decisions and handoffs.
Coding agents from Claude Code, Cursor and Codex claim jobs and lock files on one shared board.
Your AI apps as one team: hand work to Codex or Claude Code on your Mac, with a shared logbook.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceCross-session coordination server for Claude Code that manages file claims, build locks, shared knowledge, and provides a real-time dashboard to prevent conflicts across multiple sessions.36 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables teams to share context and messages between Claude Code sessions via a relay, allowing collaborative work on the same project.13 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables coordinating Claude Code and Codex across separate Git worktrees with shared issue ownership, file reservations, messages, and explicit handoffs.3MIT
- AlicenseNot gradedqualityBmaintenanceCoordinates parallel Claude Code agents on shared repositories and orchestrates multiple Claude subscriptions, enabling live session handoff, conflict detection, and remote terminal control.21 npmMIT