[Bug] Auto-added Read/Edit permissions generate double-slash paths (//Users/... instead of /Users/...)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
What's Wrong?
When Claude Code auto-adds a Read permission to ~/.claude/settings.json (after user approval during a session), the path is saved with a double-slash prefix.
Actual: Read(//Users/kanghyun/Desktop/project/open-claw-repo/**)
Expected: Read(/Users/kanghyun/Desktop/project/open-claw-repo/**)
This occurs on macOS with standard absolute paths — no symlinks or drive letters involved.
What Should Happen?
Auto-added Read/Edit permission rules should use a single-slash absolute path: Read(/Users/kanghyun/Desktop/project/**).
Error Messages/Logs
No error — the permission is silently saved with // prefix. The // rule still functions due to the v2.1.89 checker fix, but accumulates malformed entries over time.
// settings.json after auto-add
"allow": [
"Read(//Users/kanghyun/Desktop/project/open-claw-repo/**)"
]
Steps to Reproduce
- Start a new Claude Code session in a project directory
- Ask Claude to read a file outside the current project (e.g.,
~/.claude/settings.json) - Approve the Read permission when prompted
- Check
~/.claude/settings.json— the auto-added entry has//prefix
This was reproduced multiple times during a single session. Each time a new Read permission was approved, the // prefix appeared.
Claude Model
claude-opus-4-6 (1M context)
Is this a regression?
Partially. CHANGELOG v2.1.89 mentions:
"FixedEdit(//path/**)andRead(//path/**)allow rules to check the resolved symlink target"
This fix addressed checking existing // rules, but the generation of // paths during auto-add still occurs. Two separate issues:
- ✅ Checking
//rules against symlink targets (fixed in v2.1.89) - ❌ Generating
//rules when auto-adding permissions (this issue — still occurs in v2.1.90)
Last Working Version
Unknown — the // generation may have existed before v2.1.89.
Claude Code Version
2.1.90
Platform
Anthropic Direct (claude.ai/code)
Operating System
macOS (Darwin 25.2.0)
Terminal/Shell
zsh (VSCode integrated terminal)
Additional Information
Note on suggested duplicates: The bot flagged #12175 and #5401 as duplicates, but those are Windows-specific path issues (WSL //c/mnt/c/ and Git Bash /c/c/ prefix). This issue is macOS-specific with a different root cause — an extra / is prepended to an already-absolute macOS path.
| | Windows issues (#12175, #5401) | This issue |
|---|---|---|
| Platform | Windows (WSL/Git Bash) | macOS |
| Pattern | //c/mnt/c/Users/... or /c/c/... | //Users/kanghyun/... |
| Root cause | Drive letter path conversion | Absolute path gets extra / prefix |
| Status | Both CLOSED | Still occurs in v2.1.90 |
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗