Preflight Checklist
Problem Statement
When running several background agents (dispatched via claude agents or as background jobs), jumping into a specific one currently requires opening the interactive agent view (claude agents), scanning the list, and selecting the session by hand. There is no way to attach to a known background agent directly from the shell.
This makes it awkward to:
- script "jump back into agent X" workflows (shell aliases, tmux/wezterm keybindings, fuzzy-finder pickers built on
claude agents --json)
- attach quickly when you already know exactly which agent you want (by name, ID, or worktree path)
The closest thing today is claude --resume <sessionId>, but per the sessions docs that reopens the transcript rather than attaching to the live managed session the way the agent view does, and resuming a session that's actively running in another process interleaves two writers into one transcript.
Proposed Solution
A non-interactive attach entry point, e.g.:
claude agents attach <id|name>
# or
claude attach <id|name>
that does exactly what selecting the session in the claude agents view does (attach to the live session, ← to detach), but skips the picker. Matching by the short agent id, name, or sessionId from claude agents --json would all be useful; a --cwd <path> matcher would also fit nicely with the existing claude agents --cwd filter.
Alternative Solutions
claude agents --json | jq ... to find the sessionId, then claude -r <sessionId> — works, but it's transcript resume rather than a true attach to the live managed session, with the dual-writer interleaving caveat.
- tmux-style tools solve this with
tmux attach -t <name>; same ergonomics would be great here.
Priority
Medium - Would be very helpful
Feature Category
CLI commands and flags
Use Case Example
- I have 4 background agents working on separate worktrees of a monorepo.
- One of them reports
needs input: (visible in the job list / notifications).
- Today: run
claude agents, find it in the list, select it.
- With this feature:
claude agents attach dataset-filtering (or a keybinding that runs claude agents attach $(... | fzf)) and I'm in the live session immediately.
Preflight Checklist
Problem Statement
When running several background agents (dispatched via
claude agentsor as background jobs), jumping into a specific one currently requires opening the interactive agent view (claude agents), scanning the list, and selecting the session by hand. There is no way to attach to a known background agent directly from the shell.This makes it awkward to:
claude agents --json)The closest thing today is
claude --resume <sessionId>, but per the sessions docs that reopens the transcript rather than attaching to the live managed session the way the agent view does, and resuming a session that's actively running in another process interleaves two writers into one transcript.Proposed Solution
A non-interactive attach entry point, e.g.:
that does exactly what selecting the session in the
claude agentsview does (attach to the live session,←to detach), but skips the picker. Matching by the short agentid,name, orsessionIdfromclaude agents --jsonwould all be useful; a--cwd <path>matcher would also fit nicely with the existingclaude agents --cwdfilter.Alternative Solutions
claude agents --json | jq ...to find thesessionId, thenclaude -r <sessionId>— works, but it's transcript resume rather than a true attach to the live managed session, with the dual-writer interleaving caveat.tmux attach -t <name>; same ergonomics would be great here.Priority
Medium - Would be very helpful
Feature Category
CLI commands and flags
Use Case Example
needs input:(visible in the job list / notifications).claude agents, find it in the list, select it.claude agents attach dataset-filtering(or a keybinding that runsclaude agents attach $(... | fzf)) and I'm in the live session immediately.