Let someone join your coding agent.

Share a live Claude Code or Codex session with a link. They see everything, chat with you, and take control when you say so. They don't need to install anything.

$npx joinmyagent
Run it in your project instead of claude. Node 20+ on macOS, Linux or Windows (beta).
~/projects/shop — zsh
$ npx joinmyagent

Sharing Claude Code session…

  https://joinmyagent.com/s/7hJ9kaQx

  ✓ Watch   ✓ View diffs   ✓ Chat
  ! Control needs your approval

─────────────────────────────────────
Rahul has control for 15 min
joinmyagent.com/s/7hJ9kaQx
You have control. 14:32 leftReturn control
claudeTwo tests fail in Pay.test.tsx.
$ npm test exit 1
Rahul ❯Stop. Check why createPaymentIntent runs twice first.

Easier than screen sharing

There's no "scroll up", no "what prompt did you use?", and nobody has to send the repo. Your helper gets the whole session as it happens.

Share

Start your agent through joinmyagent. It runs exactly as before in your terminal, and you get a link.

npx joinmyagent

They join

Your friend opens the link in any browser. They see every prompt, reply, command and diff, plus a summary of the session so far.

Hand over control

When they ask, you allow 15 minutes or the rest of the session. Their prompts go into your agent as if you typed them. You can take control back at any time.

You decide what they can do

Guests start out read-only. Control always comes from you.

Watch

Default for anyone with the link
  • Live conversation, commands and output
  • Diffs for every changed file
  • Chat with you (the agent can't see it)

Suggest

Still read-only
  • Draft a prompt for the agent
  • You approve or dismiss it
  • Approved prompts go to the agent as-is

Control

Only with your approval
  • Send prompts straight to the agent
  • Stop the current turn
  • Ends when time runs out or you take it back

It's your machine. Guests only get the agent.

joinmyagent shares the agent session, not your computer. There's no remote desktop and no raw shell.

Nothing opens on your machineYour computer only makes outbound connections. No ports open, no tunnels.
Common secrets are masked before they leaveAPI keys, tokens, passwords and database URLs are masked in commands, output and diffs, and output from commands that read .env or key files is hidden. It's best-effort, so share like you would a screen.
Control expiresEvery grant has a timer unless you choose "rest of session". Take it back with one click.
Guests can't drive your terminalTheir prompts arrive as plain text: no slash commands, no ! shell commands, no keystrokes. Permission prompts are answered by you, in your terminal.
Warned when it mattersIf your agent runs without permission prompts, joinmyagent says so before you grant control, and auto-approve pauses.
Unguessable linksShare links use random 96-bit tokens. End sharing and the link becomes a read-only replay.

Questions

Which agents work?Claude Code fully. Codex is experimental (watching works; status updates are coarser). Run npx joinmyagent -- codex.
Can I share a session I already started?Resume it through joinmyagent: npx joinmyagent -- claude --resume. You'll keep the full history.
Does my helper need an account or Claude Code?No. They type a name and they're in.
Where do I approve requests?An owner page opens in your browser when you start sharing. On macOS, requests also show up as a desktop notification.
Does the relay see my session?Yes. Sessions pass through the joinmyagent relay over TLS and replays are kept for 7 days. End-to-end encryption and a self-hostable relay are on the roadmap. How it works.

Next time you're stuck, send a link.

$npx joinmyagent