[Feature Request] [VS Code] Invoke a custom subagent as the main conversation agent
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
In the VS Code extension, there is no way to start a session with a specific custom subagent as the main conversation agent. Custom subagents defined in .claude/agents/ can only be spawned as child agents via the Agent tool — their system prompt, model, tool restrictions, and permissions never apply to the main thread.
Users who want this today must copy the subagent file into .claude/commands/ and strip the frontmatter to use it as a slash command — duplicating the definition and breaking whenever the agent changes.
This feature already exists in the CLI — claude --agent <name> resolves a subagent by name from .claude/agents/. There is no equivalent in the VS Code extension.
Why This Matters
Custom subagents support rich per-agent configuration — and it would be great to use all of that for the main session agent too:
hooks— lifecycle hooks scoped to the subagent (e.g. run a linter after every edit)permissionMode— override the main session's permission mode (e.g.autoorbypassPermissions)mcpServers— MCP servers scoped to this agent only, not exposed to the main conversationtools/disallowedTools— fine-grained tool restrictions
More importantly, the docs explicitly describe a pattern where a custom agent runs as the main thread and acts as an orchestrator — spawning other subagents via the Agent tool with a controlled allowlist:
tools: Agent(worker, researcher), Read, Bash
This pattern — a custom agent acting as the orchestrator of the main session — is impossible to use in the VS Code extension today.
Proposed Solution
Allow invoking a custom subagent as the main conversation agent — the same way built-in subagents (Explore, Plan, general-purpose) can be used as the main agent. This could be:
- A button or picker in the VS Code extension UI to select a subagent when starting a new chat
- A command to activate a subagent as the current main agent (similar to #5361):
````
/agents activate security-specialist
Alternative Solutions
_No response_
Priority
Critical - Blocking my work
Feature Category
CLI commands and flags
Use Case Example
_No response_
Additional Context
_No response_
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗