Feature: Batch file reading in a single tool call (like Gemini CLI's cat approach)
Problem
Claude Code's Read tool reads one file per tool call. When reviewing or exploring code that spans many files, this creates significant latency due to per-call overhead (API round-trip, permission check, response parsing).
Observed comparison: During peer code review using both Gemini CLI and Claude Code on the same codebase, Gemini completes file reading significantly faster because it batches multiple files into a single cat command (e.g., cat file1.cs file2.cs file3.cs), reading 10-20 files in one shell call. Claude Code reads each file individually via the Read tool, resulting in 10-20x more round-trips for the same operation.
Current behavior
- Claude can issue parallel
Readtool calls in a single response (which helps), but each is still a separate tool invocation with its own overhead - For 20 files: 20 tool calls, 20 round-trips, 20 permission checks
- Gemini: 1
catcall, 1 round-trip
Proposed solution
Add a batch read mode to the Read tool that accepts multiple file paths and returns all contents in a single tool call:
{
"tool": "Read",
"file_paths": ["src/Services/UserService.cs", "src/Models/User.cs", "src/Endpoints/UserEndpoint.cs"],
"limit": 200
}
Or alternatively, a dedicated BatchRead tool for reading multiple files at once.
Impact
- Code review workflows — reviewers need to read 10-30 files; batch reading would cut review start time significantly
- Agent/subagent file loading — agents exploring codebases read many files sequentially
- Competitive gap — Gemini CLI's
catbatching approach is noticeably faster for multi-file operations
Environment
- Claude Code on Windows 11
- Observed during multi-model peer review workflow (Claude + Codex + Gemini reviewing same codebase)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗