# Claude Code Features and Practical Usage
🤖 Don't want logs and search results cluttering your main conversation? Subagents work in their own context and return only a summary. You can carve out read-only reviewers and research specialists.
📌 Title and Feature URL
Title: Subagents
URL:
📝 Overview
A subagent is a specialized AI assistant for a specific kind of task. It runs in its own context window with its own system prompt, tool access, and permissions, working independently and returning only a summary to the main conversation. This isolates verbose output and lets you constrain what it can do via tool limits.
🔧 How It Works
- Built-in subagents include Explore (a read-only, Haiku-powered codebase explorer), Plan (a research agent for plan mode), and general-purpose (for complex tasks needing both exploration and changes).
- Custom subagents are defined as Markdown with YAML frontmatter; only name and description are required.
- Key fields include tools (allowed tools), disallowedTools (denied tools), model (sonnet/opus/haiku/inherit), permissionMode, skills, and memory.
- Claude decides delegation based on the description; phrases like "use proactively" encourage eager delegation.
- Subagents cannot spawn other subagents, which prevents infinite nesting.
🛠 Practical Usage
- The /agents command opens a tabbed UI to create, edit, and delete subagents via guided setup or Claude generation (recommended).
- Storage location sets scope: .claude/agents/ for the current project, ~/.claude/agents/ for all projects. The former checks into version control for team sharing.
- Invoke explicitly via natural language ("use the test-runner subagent to..."), an
@-mention, or run the whole session as one with claude --agent code-reviewer.
- For a read-only reviewer, restrict tools, e.g. tools: Read, Grep, Glob, Bash.
- Set memory: project to give a subagent a persistent memory directory that accumulates insights across conversations.
🎯 Use Cases
- Defining a code reviewer that never modifies code, or a read-only research specialist for long investigations.
- Isolating high-output work like running tests or processing logs, returning only the failing tests as a summary.
- Running parallel research on independent modules in separate subagents.
- Routing tasks to fast, cheap Haiku to control cost.
⚠️ Caveats
- Each subagent starts with a fresh context and does not inherit conversation history or already-read files; it may take time to ramp up.
- Many subagents returning detailed results can themselves consume significant main-conversation context.
- Editing subagent files directly on disk requires a session restart to load them (changes via /agents take effect immediately).
- Use bypassPermissions carefully, as it skips permission checks.
#
ClaudeCode# #
DevTools#