Preflight Checklist
What's Wrong?
As per the official documentation having CLAUDE.md as a symlink should be supported, however the internal Update an Write tools refuse to change it directly.
What Should Happen?
Allow writing to CLAUDE.md directly when it's a symlink of adjacent AGENTS.md or change advice away from using a symlink.
Error Messages/Logs
● Update(/tmp/symlink-repro/CLAUDE.md)
⎿ Error: Refusing to write through symlink: /tmp/symlink-repro/CLAUDE.md. Resolve the symlink and pass
the real target path explicitly.
● Write(/tmp/symlink-repro/CLAUDE.md)
⎿ Error: Refusing to write through symlink: /tmp/symlink-repro/CLAUDE.md. Resolve the symlink and pass
the real target path explicitly.
Steps to Reproduce
mkdir /tmp/symlink-repro && cd /tmp/symlink-repro
printf 'real content\n' > AGENTS.md
ln -s AGENTS.md CLAUDE.md
Then, in Claude Code:
Read CLAUDE.md — succeeds.
Edit CLAUDE.md (any change) — fails with:
Refusing to write through symlink: /tmp/symlink-repro/CLAUDE.md. Resolve the symlink and pass the real target path explicitly.
Write to CLAUDE.md — fails with the same message.
Read then Edit AGENTS.md (the real target) — succeeds, and the
symlink is left intact and reflects the change when read back through
CLAUDE.md.
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
No response
Claude Code Version
2.1.168
Platform
AWS Bedrock
Operating System
Ubuntu/Debian Linux
Terminal/Shell
VS Code integrated terminal
Additional Information
No response
Preflight Checklist
What's Wrong?
As per the official documentation having CLAUDE.md as a symlink should be supported, however the internal Update an Write tools refuse to change it directly.
What Should Happen?
Allow writing to CLAUDE.md directly when it's a symlink of adjacent AGENTS.md or change advice away from using a symlink.
Error Messages/Logs
● Update(/tmp/symlink-repro/CLAUDE.md) ⎿ Error: Refusing to write through symlink: /tmp/symlink-repro/CLAUDE.md. Resolve the symlink and pass the real target path explicitly. ● Write(/tmp/symlink-repro/CLAUDE.md) ⎿ Error: Refusing to write through symlink: /tmp/symlink-repro/CLAUDE.md. Resolve the symlink and pass the real target path explicitly.Steps to Reproduce
Then, in Claude Code:
ReadCLAUDE.md— succeeds.EditCLAUDE.md(any change) — fails with:Refusing to write through symlink: /tmp/symlink-repro/CLAUDE.md. Resolve the symlink and pass the real target path explicitly.WritetoCLAUDE.md— fails with the same message.ReadthenEditAGENTS.md(the real target) — succeeds, and thesymlink is left intact and reflects the change when read back through
CLAUDE.md.Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
No response
Claude Code Version
2.1.168
Platform
AWS Bedrock
Operating System
Ubuntu/Debian Linux
Terminal/Shell
VS Code integrated terminal
Additional Information
No response