[FEATURE] Setting to disable collapsed read/search groups and show individual file names
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
Recent versions of Claude Code introduced collapsed read/search groups that display summaries like "Reading 3 files…" or "Read 5 files" instead of showing individual file paths. While this reduces terminal noise, it removes important visibility into Claude's file access behavior.
My primary use case: When Claude is exploring a codebase or gathering context, I need to see which files it's reading in real-time so I can interrupt (Ctrl+C or Escape) if it starts going in the wrong direction. For example:
- Claude might start reading files in a legacy directory I don't want it to reference
- Claude might be pulling context from test fixtures instead of actual implementation
- Claude might be reading vendored/third-party code when I want it to focus on my source code
With the current collapsed view, by the time I see "Read 15 files", Claude has already consumed context I didn't want, and I've wasted tokens and potentially received suggestions based on irrelevant code.
Additional Use Cases
- Debugging context issues: When Claude gives an unexpected response, seeing exactly which files it read helps diagnose whether it pulled context from the wrong sources.
- Learning codebase navigation: New team members using Claude Code benefit from seeing how Claude traverses a project structure—it helps them understand the codebase architecture.
- Token budget awareness: Knowing exactly which files are being read helps users make informed decisions about context consumption, especially on usage-limited plans.
- Security/compliance auditing: In sensitive projects, developers may need to verify Claude isn't accessing files containing secrets, credentials, or sensitive business logic that shouldn't be in AI context.
- Verifying
.gitignore/permission rules: When setting uppermissions.denyrules, seeing individual file names confirms the rules are working as expected.
- Large monorepo navigation: In monorepos with multiple apps/packages, it's crucial to see if Claude is staying within the intended package or wandering into unrelated code.
Proposed Solution
Add a setting in settings.json to control read/search output verbosity:
{
"display": {
"collapsedReadGroups": false
}
}
Or alternatively, a more granular approach:
{
"display": {
"toolOutputStyle": "expanded" // "collapsed" | "expanded" | "verbose"
}
}
Where:
collapsed(default): Current behavior - "Read 5 files"expanded: Shows each file path as it's read, one line per fileverbose: Full Ctrl+O style output with parameters and line counts
Alternatives Considered
- Using
Ctrl+Otoggle: This works but requires manual intervention each session and shows retrospective information rather than real-time file access.
- Using
--verboseflag: This outputs too much information (token counts, timing, etc.) when I only need file paths.
- Hooks: Could potentially use
PreToolUsehooks to log Read operations, but this is complex overhead for what should be a simple display preference.
Environment
- Platform: macOS
- Claude CLI version: 2.1.20 (Claude Code)
- Terminal: bash
Priority
High - Significant impact on productivity
Feature Category
Interactive mode (TUI)
Use Case Example
_No response_
Additional Context
This was the default behavior in earlier versions of Claude Code, so this request is essentially asking for a way to opt back into the previous UX for users who preferred it.
The collapsed view is a reasonable default for most users, but power users who need tighter control over Claude's context gathering would benefit from the option to see individual file operations.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗