[FEATURE] Desktop App: allow launching a session directly in a user-level agent (equivalent to CLI claude --agent <name
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
CLI supports launching a session as a specific user-level agent:
claude --agent my-reviewer
The agent's prompt becomes the session system prompt, and skills / slash commands route directly to it.
Desktop has no equivalent. Every Desktop session starts in main Claude. To work inside a user-level agent from ~/.claude/agents/, main Claude has to dispatch it via the Agent tool, which keeps the main agent in the loop for the rest of the session.
In practice that's been lossy. Over a multi-day session I ran recently:
- Main Claude paraphrased subagent prompts rather than passing the mode specs verbatim.
- It reported subagent output as PASS more than once without the validator actually running.
- It carried its own context across turns that the subagent didn't share.
Proposed Solution
Any of the following would close the gap. No preference on which:
- Agent picker in the new-session dialog, next to the model picker.
- An agent key in settings.json that loads the specified agent at session start. #39824 asks for the same thing scoped to CLI; a shared settings mechanism would cover both.
- A claude://session/new?agent=<name>&cwd=<path> URL scheme. Extends the Desktop URL-handler work in #50054 / #50345.
Alternative Solutions
Current workarounds:
- Keep a terminal open and use claude --agent <name>. Defeats the point of the Desktop app for long-running work.
- Start a Desktop session and have main Claude dispatch the agent. This is the middleman path the request is trying to remove.
Related issues:
- #40685 — user-level agents aren't discoverable inside a running session (Agent tool dispatch and /agents picker both fail). Same underlying mechanism; fixing one case likely reuses the work.
- #39824 — CLI-scoped version of the settings-key approach above.
- #50054 — URI to launch Desktop into an existing session. Same pattern, different payload.
Priority
High - Significant impact on productivity
Feature Category
Configuration and settings
Use Case Example
- I maintain a custom agent in ~/.claude/agents/ with a domain-tuned
prompt and a small set of slash commands that walk through a
multi-stage review pipeline.
- A typical run is multi-day: gather context, scan code for evidence,
apply corrections, assemble the output, run an adversarial review.
The agent's prompt is the working contract for the whole session.
- In Desktop today I start in main Claude and dispatch the agent via
the Agent tool. Over a recent multi-day run:
- Main Claude rephrased the slash command bodies instead of passing
them verbatim. Rules the agent's prompt already handled —
prohibited phrasings, output-shape constraints, self-check
requirements — got softened or dropped in the paraphrase. The
subagent then produced output that violated those rules, and I'd
spend another dispatch (sometimes two) correcting issues the
original prompt was written to prevent. A verbatim pass-through
would have avoided most of those round trips.
- It summarized subagent output as PASS more than once when the
subagent hadn't actually run the validator. I only caught it by
running the validator myself.
- It carried context across turns that the subagent never saw. Long
sessions drifted away from the persona and rules the agent was
supposed to apply.
- With this feature, I'd pick the agent from the new-session dialog
(or set it in settings.json) and land directly in that agent. Slash
commands and skills go from me to the agent. The failure modes in
step 3 don't exist because nothing sits in the middle.
Additional Context
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗