by EliranG
Two devs, one Claude. Share a Claude Code session in real-time with E2E encryption.
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
# Add to your Claude Code skills
git clone https://github.com/EliranG/claude-duetGuides for using cli tools skills like claude-duet.
Last scanned: 5/30/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@anthropic-ai/claude-code: Claude Code: Insecure System-Wide Configuration Loading Enables Local Privilege Escalation on Windows",
"severity": "high"
},
{
"type": "npm-audit",
"message": "axios: Axios Cross-Site Request Forgery Vulnerability",
"severity": "high"
},
{
"type": "npm-audit",
"message": "follow-redirects: follow-redirects leaks Custom Authentication Headers to Cross-Domain Redirect Targets",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "localtunnel: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "picomatch: Picomatch: Method Injection in POSIX Character Classes causes incorrect Glob Matching",
"severity": "high"
},
{
"type": "npm-audit",
"message": "postcss: PostCSS has XSS via Unescaped </style> in its CSS Stringify Output",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "vite: Vite Vulnerable to Path Traversal in Optimized Deps `.map` Handling",
"severity": "high"
},
{
"type": "npm-audit",
"message": "ws: ws: Uninitialized memory disclosure",
"severity": "medium"
}
],
"status": "WARNING",
"scannedAt": "2026-05-30T16:17:52.435Z",
"npmAuditRan": true,
"pipAuditRan": true
}Two devs. One Claude. Pure vibes.
Share your Claude Code session with a friend — real-time collaboration for AI pair programming.
Assumes you already have Claude Code installed.
# Start a duet session (run from your terminal, NOT inside Claude Code)
npx claude-duet host --name Alice
# Your partner joins (copy the command from your terminal)
npx claude-duet join <offer-code> --password abc123
Send the join command to your partner via Slack, Discord, whatever works.
P2P mode (default): After your partner runs the join command, they'll get an answer code to share back with you. Paste it into your terminal — that's it, you're connected directly peer-to-peer via WebRTC. No server needed.
/exit)npx claude-duet host — fresh sessionnpx claude-duet host --continue — resume your most recent Claude Code conversation@claude <prompt> sends to ClaudeContext is preserved. Because claude-duet wraps Claude Code in headless mode, your Claude Code conversation history carries over. Use
--continueto pick up where you left off, and after the duet session ends, runclaude --continueto keep going solo. Claude remembers everything — before, during, and after the duet.
Heads up: claude-duet gives your partner the ability to run prompts on your machine through Claude Code. Approval mode is on by default so you review every prompt — but only share sessions with people you trust. Think of it like handing someone a terminal.
A shared terminal session where two people can chat with each other and invoke Claude together using @claude <prompt>.
Just type normally to talk to your partner. Prefix with @claude to send a prompt to Claude. Both of you see everything in real time.
⟩ hey, do you see the bug in auth.ts? ← chat (just between you two)
⟩ @claude look at src/auth.ts and fix the bug ← sent to Claude (both see the response)
That's the whole idea. You decide when to bring Claude in.
┌──────────────────┐ WebRTC P2P (default) ┌──────────────────┐
│ You (host) │◄══════════════════════►│ Partner │
│ Claude Code │ E2E encrypted │ Terminal │
│ (headless) │ NAT hole-punching │ Client │
└──────────────────┘ └──────────────────┘
@claude <prompt> sends to Claude — both of you see the response streamingType @ and ghost text will suggest the completion. Press Tab to accept.
Same for commands: /h → /help, /s → /status, etc.
A typing indicator appears inline on the prompt line when your partner is typing.
npx claude-duet # Interactive wizard
npx claude-duet host # Start a session (P2P default)
npx claude-duet host --continue # Resume your most recent Claude Code session
npx claude-duet host --resume <id> # Resume a specific session
npx claude-duet host --no-approval # Trust mode — skip prompt review
npx claude-duet host --tunnel cloudflare # Remote access via Cloudflare tunnel
npx claude-duet join <offer-code> --password <pw> # P2P join
npx claude-duet join <session-code> --password <pw> --url <url> # WebSocket join
| What you type | What happens |
|---|---|
hello! |
Chat with your partner — Claude doesn't see this |
@claude fix the bug |
Sent to Claude — both of you see the response |
/help |
Show commands |
/status |
Who's connected, session duration |
/clear |
Clear the terminal |
/leave |
Leave the session |
/trust |
(host) Let partner's prompts skip approval |
/approval |
(host) Re-enable approval |
/kick |
(host) Disconnect the partner |
claude-duet config set name "Eliran" # your name
claude-duet config set approvalMode false # skip prompt review
claude-duet config set permissionMode interactive # approve each tool use
claude-duet config # see current config
Project-level config (.claude-duet.json) overrides user config. CLI flags override everything.
| Mode | Command | When |
|---|---|---|
| P2P (default) | npx claude-duet host |
Any network — direct WebRTC connection |
| LAN | npx claude-duet host --tunnel localtunnel |
Same Wi-Fi / VPN (fallback) |
| SSH Tunnel | ssh -L 3000:localhost:3000 host |
Remote, secure |
| Cloudflare | npx claude-duet host --tunnel cloudflare |
Remote, no server needed |
claude-duet is built for legitimate pair programming and collaboration between developers. Please use it responsibly and in accordance with Anthropic's Usage Policy and your own API terms.
git clone https://github.com/elirang/claude-duet.git
cd claude-duet
npm install
npm run build
npm test # 150 tests across 20 files
Requires Node.js 18+ and Claude Code CLI.
See the FAQ for common questions about security, remote access, permissions, and more.
✦ Built by vibing with Claude Code ✦
claude-duet is an open-source cli tools skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by EliranG. Two devs, one Claude. Share a Claude Code session in real-time with E2E encryption. It has 137 GitHub stars.
claude-duet returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/EliranG/claude-duet" and add it to your Claude Code skills directory (see the Installation section above).
claude-duet is primarily written in TypeScript. It is open-source under EliranG on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other CLI Tools skills you can browse and compare side by side. Open the CLI Tools category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh claude-duet against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars