[BUG] Documents-folder permission is lost on every embedded CLI auto-update, forcing a restart that drops session context
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?
Summary
The Claude Desktop app embeds a Claude Code CLI helper at ~/Library/Application Support/Claude/claude-code/<version>/claude.app. Every time this helper auto-updates, it is installed into a new version-numbered folder instead of being updated in place. Because macOS's Files & Folders privacy protection (TCC) does not carry over a "Documents Folder" access grant to the new binary/path, the app has to re-prompt for access on every update. Re-granting access requires restarting the CLI process, which discards the in-progress session/context.
Environment
- macOS 26.6.2 (build 25G83)
- Claude Desktop
1.52386.0 - Embedded CLI helper:
com.anthropic.claude-code, signed byDeveloper ID Application: Anthropic PBC (Q6L2SF6YDW)
Evidence
Two helper versions were present on disk within a 2-day span, each a genuinely different signed binary:
| Version | Installed | CDHash |
|---|---|---|
| 2.1.260 | Sep 8, 13:04 | a78e1e621a1e1d4fa6894fcb1bdf3e8541a4510c |
| 2.1.266 | Sep 10, 19:03 | 54d586144cb0f053113617edcef29cb5ea1b201f |
Bundle ID and Team ID are identical across versions, but the on-disk path and code directory hash change with every release.
Captured live in log show --predicate 'process == "tccd"' at the moment the new version first touched my project folder:
21:48:34 tccd: AUTHREQ_PROMPTING service=kTCCServiceSystemPolicyDocumentsFolder subject=com.anthropic.claude-code
21:48:36 tccd: Publishing <TCCDEvent type=Create service=kTCCServiceSystemPolicyDocumentsFolder identifier=com.anthropic.claude-code>
This confirms macOS is treating each new versioned helper binary as a fresh app requiring fresh consent for kTCCServiceSystemPolicyDocumentsFolder, rather than recognizing it as an update to a previously-authorized app.
What Should Happen?
Expected behavior
Updating the embedded CLI helper should not require re-granting Documents-folder access, and should never force a session-destroying restart just to re-acquire a permission that was already granted to the same logical app.
Suggested fixes
- Update the embedded helper in place at a fixed path (e.g.
~/Library/Application Support/Claude/claude-code/current/claude.app) instead of a new version-numbered directory per release, so the on-disk identity stays stable across updates. - Alternatively, have the OS-level permission check resolve via "responsible process" attribution to the stable outer
/Applications/Claude.app(com.anthropic.claudefordesktop) identity instead of the inner versioned helper's own identity. - If a restart is unavoidable after a permission change, consider persisting/restoring in-progress session context across that restart.
Error Messages/Logs
Captured live in `log show --predicate 'process == "tccd"'` at the moment the new version first touched my project folder:
21:48:34 tccd: AUTHREQ_PROMPTING service=kTCCServiceSystemPolicyDocumentsFolder subject=com.anthropic.claude-code
21:48:36 tccd: Publishing <TCCDEvent type=Create service=kTCCServiceSystemPolicyDocumentsFolder identifier=com.anthropic.claude-code>
Steps to Reproduce
Repro steps
- Grant Claude Desktop access to a project folder under
~/Documents/.... - Use Claude Code normally until the embedded CLI helper auto-updates (installs a new
~/Library/Application Support/Claude/claude-code/<version>/claude.app). - Observe that file access to the same project folder now fails.
- Go to System Settings → Privacy & Security → Files and Folders (or Documents Folder) and re-grant access to Claude.
- Observe that the CLI process restarts to pick up the new grant, and the active session's context is lost.
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.266
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗