additionalDirectories setting does not grant Read tool access to files outside project
Resolved 💬 6 comments Opened Feb 26, 2026 by diogomatoschaves Closed May 2, 2026
Bug Description
The additionalDirectories setting in .claude/settings.local.json does not grant the Read tool access to files in the specified directories. Files outside the project directory remain blocked with EPERM: operation not permitted even after being added.
Steps to Reproduce
- Add a directory outside the project to
additionalDirectories(either via/add-dircommand or manually in settings):
``json``
{
"permissions": {
"additionalDirectories": [
"/Users/<user>/Documents/Screenshots/"
]
}
}
- Attempt to read a file from that directory using the
Readtool - Observe
EPERM: operation not permittederror
Observed Behavior
Readtool:EPERM: operation not permittedBashwithls -la: Works (can stat the file, see metadata/permissions/size)Bashwithcp:Operation not permitted(even withdangerouslyDisableSandbox: true)
This suggests the sandbox allows stat() but blocks open() for file reads in additionalDirectories paths.
Expected Behavior
After adding a directory via additionalDirectories, the Read tool (and Bash file operations) should be able to access files in that directory.
Environment
- Claude Code version: 2.1.59
- OS: macOS (Darwin 25.3.0)
- macOS Full Disk Access: Granted to terminal app
- Setting location:
.claude/settings.local.json(project-level)
Notes
- The
/add-dircommand confirms the directory was added:Added /Users/<user>/Documents/Screenshots/ as a working directory and saved to local settings - The directory in question (
~/Documents) is macOS TCC-protected, but Full Disk Access is already granted to the terminal application - This may be a sandbox profile issue where
additionalDirectoriespaths are not being included in the sandbox allow-list for file reads
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗