this file is copied verbatim into a chat working directory, where the harness
has to DISCOVER it — and opencode discovers only AGENTS.md. named CLAUDE.md it
reached claude code and nothing else, silently.
the platform still accepts either name, so an installed copy that has not
updated keeps working.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
chat/CLAUDE.md replaces the promptPrefix. the platform copies it into the chats
directory on every chat that starts there.
it says more than the prefix could afford to, and the part worth having is the
rule the prefix had no room for: a refusal is an answer, not an obstacle to
route around. no hunting for another credential, no reaching NPM another way,
no deciding the refusal is a bug and working around it while investigating.
that rule is written rather than enforced, and the file says why: the agent runs
with a shell, so most of those would work. stepping over the line is worse than
the thing it was asked to do, because the person ends up with neither the
outcome nor an accurate account of what happened.
prompted by a real turn today: a 403 on a delete, followed by a hunt for a
broader-scoped credential, ended by the owner interrupting it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Officer-Session: 656f5c85-e49a-4f1f-b9f3-042a04b4d043