Feature request: attach an existing session as a teammate (cross-session messaging)
Is your feature request related to a problem?
Today I had a local session orchestrating work (environment setup, verification, note-keeping) while a cloud session ran a long workload (timed environment bootstrap on a monorepo). The cloud session produced a detailed report — and the only way to get it into the orchestrating session was me copy-pasting it between windows. The orchestrator couldn't observe progress, couldn't answer the cloud session's questions, couldn't steer it mid-run. There's currently no way for two independently-started sessions to communicate.
The building blocks visibly exist:
- Subagents spawned by a session already message their parent (
SendMessage/ teammate mailboxes) and emit idle/completion notifications. - Remote agents (
isolation: "remote") run in cloud environments and report back to the session that spawned them. claude agentslists running sessions — but viewing is human-only.--teleportmoves a session between cloud and local — but it's a move, not a connection: the workload leaves the VM it was supposed to run on.
What's missing is only the attach: none of this works for a session that was started independently (from web, mobile, or another terminal).
Describe the solution you'd like
A way to connect two already-running sessions so they become addressable teammates:
claude attach <session-id> # or: /attach <session-id> inside a session
After attaching, both sessions can SendMessage each other, and the attaching session receives the same progress/idle notifications a spawned teammate emits. Ideally symmetric across origins: local↔cloud, local↔local, and sessions started from web/mobile.
Use cases
- A local orchestrator dispatches nothing itself but adopts a cloud session started from the web UI, watches its progress, and consumes its final report directly.
- A review session steering an implementation session (and vice versa) without a human relay.
- Start a cloud session from your phone, later attach your desktop orchestrator to it — instead of teleporting it off the VM.
Describe alternatives you've considered
- Human copy-paste relay (works, but the human is the message bus).
- Git as transport: prompt cloud sessions to commit reports to a branch, orchestrator fetches. Works today, but it's one-way, end-of-run only, no steering.
--teleport: moves execution instead of observing it — pulling a running workload off the cloud VM defeats the purpose.
Environment: Claude Code 2.1.220, WSL2 (local) + cloud sessions on claude.ai/code.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗