[BUG] permissions.deny rules not blocking file reads on Windows (path format mismatch)

Resolved 💬 2 comments Opened Apr 13, 2026 by nitsik Closed May 23, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

The permissions.deny rules in settings.json do not block file reads on Windows.
I added deny rules in multiple path formats, but the Read tool still accesses the files without any warning or prompt.

Tested deny rule formats (none of them worked):

  • Read(//c/WebServers/home/*/application/config/database.php)
  • Read(/c/WebServers/home/*/application/config/database.php)

The Read tool was called with Windows-style path: C:\WebServers\home\finder\www\application\config\database.php

The file was read successfully every time — no permission prompt, no block.

What Should Happen?

Environment:

  • OS: Windows 10 Pro 10.0.19045
  • Claude Code: VSCode extension 2.1.101
  • Shell: Git Bash (bash)
  • 2.1.104 (Claude Code)

Error Messages/Logs

Steps to Reproduce

  1. Add deny rule to ~/.claude/settings.json:

"permissions": { "deny": ["Read(//c/WebServers/home/*/application/config/database.php)"] }

  1. Open VSCode with Claude Code extension on Windows 10
  2. Ask Claude to read C:\WebServers\home\finder\www\application\config\database.php
  3. File is read without any block or prompt

Expected behavior:

Claude should be blocked from reading the file, or at minimum the user should be prompted to approve/deny.

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.104

Platform

Other

Operating System

Windows

Terminal/Shell

VS Code integrated terminal

Additional Information

_No response_

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗