Regression: Read tool now requires permission prompts despite documentation
Description
Claude Code has recently started requiring permission prompts for Read operations, despite the documentation explicitly stating that read-only operations should not require approval.
Expected Behavior
According to the IAM documentation:
"Read-only tools require no approval and include 'File reads, LS, Grep.' These operations execute automatically without user confirmation."
Actual Behavior
Claude Code is now prompting for permission when attempting to read files within the working directory, such as:
Read(app/routes/app+/tools+/$toolId+/runs+/_index.tsx)
This file is within the working directory (/Users/../meta-tools) and should be automatically allowed.
Environment
- OS: macOS (Darwin 23.6.0)
-
Working Directory:
/Users/../meta-tools - Timing: This started happening recently, suggesting a regression in a recent update
Impact
This creates friction in the user experience, as every file read now requires manual approval, significantly slowing down development workflows.
Workaround
Adding explicit allow rules in ~/.claude/settings.json:
{
"permissions": {
"allow": [
"Read(//Users/../**)"
]
}
}
However, this should not be necessary according to the documented behavior.
Additional Context
The user has global instructions in ~/.claude/CLAUDE.md that already specify not to ask for permission for read operations, but these are being ignored.
Found 3 possible duplicate issues:
- https://github.com/anthropics/claude-code/issues/5140
- https://github.com/anthropics/claude-code/issues/10629
- https://github.com/anthropics/claude-code/issues/10683
This issue will be automatically closed as a duplicate in 3 days.
- If your issue is a duplicate, please close it and 👍 the existing issue instead
- To prevent auto-closure, add a comment or 👎 this comment
🤖 Generated with Claude Code
CRITICAL UPDATE: Permission System Completely Non-Functional
This is much more serious than initially reported. The permission system appears to be completely broken.
Evidence of System Failure
After adding explicit allow rules to ~/.claude/settings.json and restarting Claude Code, the permission rules have zero effect:
Settings Applied:
{
"permissions": {
"allow": [
"Read(//Users/tsunami/hack/docflowlabs/**)",
"Read(//Users/tsunami/Downloads/**)",
"Read(//tmp/**)",
"Read(//Users/tsunami/Desktop/**)",
"Read(//Users/tsunami/hack/**)"
]
}
}
Test Results After Restart:
-
File within working directory + allowed path still prompts:
- Working directory:
/Users/tsunami/hack/docflowlabs/meta-tools - Command:
Read(app/routes/app+/tools+/$toolId+/runs+/dataTable.config.tsx) - Expected: No prompt (file is in working dir AND matches
//Users/tsunami/hack/docflowlabs/**) - Actual: ❌ Still asks for permission
- Working directory:
-
Settings file itself asks for permission:
- Command:
Read(~/.claude/settings.json) - Expected: No prompt (matches
Read(//Users/tsunami/**)pattern from expanded path) - Actual: ❌ Still asks for permission
- Command:
-
Bash commands also affected:
- Command:
ls -R /Users/tsunami/hack/docflowlabs/meta-tools/app/routes/... - Expected: No prompt (read-only operation per docs)
- Actual: ❌ Still asks for permission
- Command:
Impact
Severity: CRITICAL - The permission system is completely non-functional, making Claude Code unusable for any productive workflow. Every file read, directory listing, and bash command requires manual approval, despite:
- Being in the working directory
- Being explicitly allowed in settings.json
- Documentation stating they should not require approval
The allow rules in settings.json appear to be completely ignored by the system.
System Info
- macOS Darwin 23.6.0
- Settings location:
~/.claude/settings.json - Restart confirmed: This is a fresh session after restart
Soooo, downgrading to v2.0.33 fixes the issue (from v2.0.36).
This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.
For search/grep, yes it is