[BUG] Task subagent cannot access Bash tool despite tools field in agent definition
Description
When spawning a custom subagent via the Task tool, the Bash tool is not accessible to the subagent even though it is explicitly specified in the agent definition's tools field.
Environment
- Claude Code Version: Latest (January 2026)
- Platform: Windows 11
- Context: VSCode Extension
Agent Definition
---
name: scheduling-agent
description: 일정관리 전문가
tools: Read, Write, Glob, Grep, Bash
model: opus
permissionMode: acceptEdits
---
Steps to Reproduce
- Create a custom agent with
tools: Read, Write, Glob, Grep, Bashin frontmatter - Spawn the agent via Task tool:
````
Task(subagent_type="scheduling-agent", prompt="Run 'echo test' using Bash")
- Observe that the subagent reports Bash is not available
Expected Behavior
The subagent should have access to the Bash tool as specified in the tools field.
Actual Behavior
The subagent responds:
"현재 환경에서는 Bash 도구가 제공되지 않았습니다." Available tools: Read, Write, Glob, Grep (Bash is missing)
Workaround
Currently, the main Claude Code agent reads the subagent definition as a "guideline" and executes Bash commands directly, rather than delegating to the subagent.
Related Issues
This appears to be related to:
- #13890 - Subagents unable to write files and call MCP tools silently
- #14496 - Task tool subagents fail to access MCP tools with complex prompts
Additional Context
According to the official documentation at https://code.claude.com/docs/en/sub-agents:
"Subagents can access any of Claude Code's internal tools, including Bash"
The issue seems to be that the tools field in the agent definition is not being properly passed to the Task tool's subagent runtime.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗