{"version":"2.1.265","anchor":"realpath-resolution-now-falls-back-to-a-launch-ancestry-pa","canonical_anchor":"realpath-resolution-now-falls-back-to-a-launch-ancestry-pa","heading":"realpath resolution now falls back to a 'launch ancestry' path when EPERM\/EACCES occurs","tier":"notice","area":"File System","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.265\/e\/realpath-resolution-now-falls-back-to-a-launch-ancestry-pa","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.265","markdown":"### realpath resolution now falls back to a 'launch ancestry' path when EPERM\/EACCES occurs\n\nPath safety checks now fall back to a shared-ancestor path if the OS blocks realpath resolution\n\n**Unclear.** The finding marks this fallback path itself as 'unverified', so how reliable it is in practice is unclear.\n\n**What**\n\nClaude Code resolves file paths using a system call that also checks whether a path is actually a symlink pointing somewhere unexpected. When that system call fails with a permissions error (EPERM or EACCES), Claude Code now tries a fallback: it computes the common ancestor directory between the current working directory and the 'launch' path (the directory Claude Code was started from), and re-runs its symlink-safety checks using that ancestor path instead of giving up immediately.\n\n**Why**\n\nPreviously a permissions error during this check would simply fail. The fallback lets Claude Code keep working in more restrictive environments instead of erroring out.\n\n- Area: File System\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5"}