io.github.saicharanrajoju/letswork
LetsWork
Programación colaborativa en tiempo real mediante Claude Code — dos desarrolladores, un solo código base, cada uno con su propia suscripción de Claude.
Un desarrollador aloja la sesión. El otro se une desde cualquier lugar. Ambos obtienen una ventana en directo de Claude Code conectada al mismo proyecto, con bloqueo de archivos y un sistema de aprobación para evitar conflictos.
Cómo funciona
El anfitrión ejecuta
letswork startdentro de su carpeta de proyectoSe crea automáticamente un túnel HTTPS seguro a través de Cloudflare
Se genera e imprime una URL de un solo uso + token de invitado
El anfitrión comparte el comando join con el invitado
El invitado ejecuta
letswork join <url> --token <token>en su máquinaAmbos desarrolladores tienen ahora Claude Code conectado al mismo código base
Related MCP server: claude-switchboard
Requisitos
Requisito | macOS | Windows (WSL) |
Python 3.10+ |
| Viene con Ubuntu WSL |
cloudflared |
| Consulta la sección de WSL más abajo |
Claude Code |
|
|
Node.js |
|
|
macOS — Configuración del anfitrión
El anfitrión es el desarrollador propietario del proyecto. Tú inicias la sesión y compartes el comando join.
Paso 1 — Instalar dependencias
brew install cloudflared
pip install letsworkPaso 2 — Instalar Claude Code
npm install -g @anthropic-ai/claude-codePaso 3 — Iniciar la sesión
Navega hasta la carpeta de tu proyecto y ejecuta:
cd /path/to/your/project
letswork startSe te pedirá tu nombre para mostrar y, a continuación, aparecerá un cuadro de sesión:
╔══════════════════════════════════════════════════════════════════════╗
║ 🤝 LetsWork Session Active ║
║ ║
║ Send this command to your collaborator: ║
║ letswork join https://abc123.trycloudflare.com --token a1b2c3d4 ║
║ ║
║ Press Ctrl+C to stop. ║
╚══════════════════════════════════════════════════════════════════════╝Copia el comando completo letswork join ... y envíalo a tu colaborador.
Se abren automáticamente dos ventanas de terminal nuevas:
Claude Code — ya conectado a LetsWork
Una ventana de chat para comunicarte con tu colaborador
Paso 4 — Aprobar cambios del invitado
Cuando el invitado edite un archivo, verás una notificación en Claude Code. Pídele a Claude:
get_pending_changesLuego aprueba o rechaza:
approve_change <id>
reject_change <id>Paso 5 — Detener la sesión
Pulsa Ctrl+C en la terminal donde ejecutaste letswork start.
macOS — Configuración del invitado
El invitado se conecta al proyecto del anfitrión. Necesitas el comando join del anfitrión.
Paso 1 — Instalar dependencias
brew install cloudflared
pip install letsworkPaso 2 — Instalar Claude Code
npm install -g @anthropic-ai/claude-codePaso 3 — Unirse a la sesión
Ejecuta el comando que te envió el anfitrión:
letswork join https://abc123.trycloudflare.com --token a1b2c3d4Se te pedirá tu nombre para mostrar. Luego se abren dos ventanas:
Claude Code — conectado al proyecto del anfitrión
Una ventana de chat para comunicarte con el anfitrión
Paso 4 — Editar archivos
Pídele a Claude que lea y edite archivos con normalidad. Cuando escribas un archivo, este pasa a una cola de aprobación: el anfitrión lo revisa antes de que se escriba en el disco. Recibirás una notificación cuando sea aprobado o rechazado.
Windows — Configuración del invitado (WSL)
LetsWork se ejecuta dentro de WSL (Windows Subsystem for Linux). La experiencia del invitado es la misma que en macOS una vez que WSL está configurado.
Paso 1 — Habilitar WSL e instalar Ubuntu
Abre PowerShell como Administrador y ejecuta:
wsl --installReinicia el equipo cuando se te indique. Ubuntu se instalará automáticamente.
Abre Ubuntu desde el menú Inicio y configura tu nombre de usuario y contraseña de Linux.
Paso 2 — Instalar dependencias dentro de Ubuntu
Abre Ubuntu y ejecuta estos comandos uno por uno:
# 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 letsworkPaso 3 — Instalar Claude Code dentro de Ubuntu
npm install -g @anthropic-ai/claude-codePaso 4 — Unirse a la sesión
Ejecuta dentro de Ubuntu el comando que te envió el anfitrión:
letswork join https://abc123.trycloudflare.com --token a1b2c3d4Se te pedirá tu nombre para mostrar. Claude Code se abre directamente en la misma ventana de terminal.
Nota para usuarios de Windows: Claude Code se ejecuta en la terminal de WSL — no en una ventana separada. Todo lo demás funciona igual que en macOS.
Herramientas MCP disponibles
Tanto el anfitrión como el invitado tienen acceso a estas herramientas dentro de Claude Code:
Herramienta | Quién puede usarla | Descripción |
| Ambos | Lista archivos y directorios con el estado de bloqueo |
| Ambos | Lee el contenido de archivos (límite de 1MB, solo archivos de texto) |
| Ambos | Envía un cambio de archivo (los cambios del invitado requieren aprobación del anfitrión) |
| Ambos | Bloquea un archivo para edición exclusiva |
| Ambos | Libera tu propio bloqueo de archivo |
| Ambos | Muestra la información de la sesión, los usuarios conectados y los bloqueos activos |
| Ambos | Resumen rápido de lo que requiere atención |
| Ambos | Verifica la conexión con el servidor MCP del anfitrión |
| Solo invitado | Establece tu nombre para mostrar en la sesión |
| Solo invitado | Consulta tus cambios enviados pendientes de aprobación |
| Solo anfitrión | Consulta todos los cambios pendientes de aprobación con sus diferencias |
| Solo anfitrión | Aprueba un cambio pendiente y lo escribe en el disco |
| Solo anfitrión | Rechaza un cambio pendiente |
| Solo anfitrión | Fuerza la liberación de un bloqueo de archivo atascado |
Flujo de aprobación
Las escrituras de archivos del invitado no van directamente al disco, sino que pasan por la cola de aprobación del anfitrión:
El invitado le pide a Claude que edite un archivo →
write_fileenvía el cambioEl anfitrión ve:
📝 guest submitted change to server.py (ID: a1b2c3)El anfitrión le pide a Claude:
get_pending_changes— ve un diff completoEl anfitrión aprueba:
approve_change a1b2c3→ el archivo se escribe en el discoO lo rechaza:
reject_change a1b2c3→ el invitado recibe una notificación
Seguridad
Subdominio aleatorio de Cloudflare: la URL es imposible de adivinar
Token criptográfico: segunda capa de autenticación además de la URL
Todo el tráfico está cifrado mediante HTTPS
Prevención de path traversal: el invitado no puede acceder a archivos fuera de la raíz del proyecto
Los bloqueos de archivo caducan automáticamente a los 30 minutos
Sin cuentas, sin registro, sin credenciales persistentes: la sesión termina cuando el anfitrión la detiene
Restricciones
Máximo 2 usuarios por sesión (Anfitrión + 1 Invitado)
Solo archivos de texto: no se admiten archivos binarios
Límite de tamaño de archivo de 1MB por operación de lectura/escritura
El invitado no tiene acceso a la shell: solo operaciones de archivo
cloudflareddebe estar instalado en la máquina del anfitrión (el invitado no lo necesita en macOS, pero los invitados de WSL sí)
Referencia de CLI
letswork start [--port PORT] [--debug] # Start a session (default port: 8000)
letswork join <URL> --token <TOKEN> # Join a session as guestArquitectura
Host Machine:
[Project Files] ← [MCP Server :8000] ← [Cloudflare Tunnel] ← HTTPS URL
↑
Guest connects here
via stdio proxy + secret tokenEl invitado se conecta a través de un proxy stdio en lugar de hacerlo directamente por HTTP; esto evita los problemas de fiabilidad de Cloudflare SSE y proporciona una conectividad MCP estable.
Licencia
MIT — consulta LICENSE
Construido con el 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