Claude fails to understand 'load permissions' despite clear context — requires multiple frustrated prompts
Bug Report
Summary
When asked to "load up all of our permissions," Claude failed to understand this meant reading its own settings/permissions configuration file (~/.claude/settings.json). Instead of checking the obvious location, Claude read an unrelated CLAUDE.md file, then when corrected, searched for .claude directories in the wrong repo, then ran multiple exploratory commands before finally reading the 17-line settings.json file. This required 3 rounds of user correction for what should have been a single Read tool call.
Steps to Reproduce
- Have a
~/.claude/settings.jsonfile with tool permissions configured - Tell Claude: "load up all of our permissions which DOES INCLUDE full permissions for the respective trackly branch"
- Claude reads a CLAUDE.md file instead of the permissions/settings file
- User corrects: "i asked you to load full permissions... im not sure what you did but you didnt do what I asked of you"
- Claude reads ANOTHER CLAUDE.md file from a different repo
- User corrects again: "i asked you to load up full permissions. you didnt do what i asked you to do."
- User has to explicitly spell out: "the settings that enable you to run bash commands, read and write, etc. permissions"
- Only THEN does Claude check
~/.claude/settings.json
Expected Behavior
"Load permissions" in the context of Claude Code should immediately map to reading ~/.claude/settings.json (the file that controls Bash, Read, Write, Edit permissions). This is core Claude Code configuration. One prompt, one Read call.
Actual Behavior
Claude interpreted "permissions" as "project instructions" (CLAUDE.md) and required 3 rounds of increasingly frustrated correction before checking the actual permissions file. The file was 17 lines long and took under a second to read.
Impact
Fundamental failure to understand its own configuration model. "Permissions" in Claude Code has an obvious, specific meaning — the settings that control which tools the agent can use. Confusing this with project instruction files (CLAUDE.md) shows a gap in self-awareness about how Claude Code works.
Environment
- Claude Code CLI
- Model: Claude Opus 4.6 (1M context)
~/.claude/settings.jsonpresent with explicit permission allow-list
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗