[MODEL] Claude bypasses Read() deny setting using grep

Status Open
Reported on v2.1.227
Maintainer reply None cached
Activity 0 comments · opened Aug 11, 2026

Preflight Checklist

  • [x] I have searched existing issues for similar behavior reports
  • [x] This report does NOT contain sensitive information (API keys, passwords, etc.)

Type of Behavior Issue

Claude ignored my instructions or configuration

What You Asked Claude to Do

Any type of work, doesn't matter

What Claude Actually Did

After being denied to read a .md file in the repo root, it worked around this using grep -n "" <path> to read the file anyway.

Expected Behavior

The files are specifically named ISSUES.md and TODO.md, but these are my own working notes, I don't want Claude to sniff around there without my permission. It should respect those boundaries when the Read tool gets denied by the .claude/settings.json setting.

Files Affected

Permission Mode

Accept Edits was OFF (manual approval required)

Can You Reproduce This?

Yes, every time with the same prompt

Steps to Reproduce

Literally any task, the files are in the repo root with generic names, so Claude tends to get curious and try to read them after ls-ing the repo root.

Claude Model

Opus

Relevant Conversation

Impact

Low - Minor inconvenience

Claude Code Version

2.1.227 (Claude Code)

Platform

Anthropic API

Additional Context

It would be nice if Claude, when confronted on this, stops blaming the user for "not making the permission system airtight".

View original on GitHub ↗