[BUG] Auto mode: every write through a user-created symlink prompts individually since 2.1.280, while the same file via its real path is auto-approved — no session-wide option
What's wrong
Since 2.1.280 ("Fixed writes through a symlinked path being judged by their in-tree spelling…"), in auto mode every Edit/Write through a symlink that lands outside the working directory shows a permission prompt — one per edit. In one short task that was 12 separate prompts for the same file.
The same file edited via its real path (also outside the working directory) goes to the auto mode classifier and is approved without any prompt. So the safety outcome is identical, only the path spelling differs — the symlink route just costs the user a click per edit.
Setup
- Project A contains a directory symlink I created myself (
ln -s) pointing to a shared folder in project B, so both projects share one workflow document. - Session runs in project A, auto mode on.
Evidence (from my own session transcripts)
- Edits outside cwd via real path: ~1,900 since Sept 1, median tool latency 2–3 s, no prompts (classifier).
- Edits via the symlink after 2.1.280: every one prompted, latency 5–11 s (my manual approvals).
- The same file was edited via its real path on Sept 23 without a prompt, and I re-verified today that a direct-path edit still goes through without a prompt.
What should happen
I understand the fix protects against a planted symlink that makes an out-of-tree write look in-tree. But the current behavior:
- Offers no "Yes, allow writes through this symlink / to this target for this session" option — so it's worse than default mode, where approvals can be granted session-wide.
- Doesn't distinguish a symlink the user deliberately created from one planted by a cloned repo.
Either option would fix it: a session-scoped approval in the prompt, or routing such writes to the classifier with the resolved target shown (as for any other out-of-tree path).
Workaround
Tell Claude to use the real path instead of the symlink (as noted in #67072). Related: #67072, #95936, #92206.
Environment
Claude Code 2.1.283, VS Code extension, macOS.