[BUG] Read tool file_path parameter silently dropped in background subagents

Resolved 💬 4 comments Opened Feb 22, 2026 by humeo Closed Mar 23, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

When spawning background subagents via the Task tool with
subagent_type: "general-purpose" and run_in_background: true, the
Read tool call consistently fails with InputValidationError: The
required parameter file_path is missing
. The tool is called with an
empty input: {} even though the model clearly intends to pass the
parameter. The agent enters an infinite retry loop (200-300+
retries), burning tokens without progress.

This only affects general-purpose background subagents. The same
Read calls work fine in the main agent loop and in Explore-type
subagents. In one session, 6 out of 9 parallel subagents hit this
simultaneously, suggesting a race condition.

What Should Happen?

The Read tool should receive the file_path parameter and read the
file successfully, just as it does in the main agent loop and
Explore-type subagents.

Error Messages/Logs

{
    "type": "tool_use",
    "id": "tooluse_bxB48tEomY7NdNpkbttzJR",
    "input": {},
    "name": "Read"
}
InputValidationError: Read failed due to the following issue: The required parameter `file_path` is missing

Steps to Reproduce

  1. Spawn a background subagent via the Task tool with

subagent_type: "general-purpose" and run_in_background: true

  1. In the prompt, instruct the agent to read specific files using

absolute paths via the Read tool

  1. The subagent attempts to call the Read tool but the file_path

parameter is missing from the actual tool invocation

  1. The agent retries indefinitely with the same empty input: {}

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.50

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

VS Code integrated terminal

Additional Information

  • Only affects general-purpose subagents with `run_in_background:

true`

  • 6 out of 9 parallel subagents hit this simultaneously, suggesting a

race condition

  • Each affected agent retried 200-300+ times, always with input: {}
  • Other tools (Write, Bash, Glob, Grep) worked correctly in

the same agents

  • Agents that completed successfully used the same tool and file path

patterns

### Workaround

Use Bash with cat to read files instead of the Read tool in
subagents, or use Explore-type subagents which are not affected.

### Impact

  • Massive token waste (~6000+ input tokens per retry × 200+ retries

per agent)

  • Background agents run indefinitely until manually stopped
  • No automatic circuit-breaking for repeated identical failures

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗