How Project Instructions actually get injected (I think), and what happens when you change them mid-Conversation

Question

Project Instructions (also User Preferences) are not reinjected every turn. They get loaded into the system prompt at conversation start and stay in context from there.

The weird part is what happens if you change project instructions mid-conversation. Claude doesn't know you changed them. It reads the updated version as if that's what was there from the very first message. So if your project instructions say "start every response with HELP I'M A BUG" and you get one response following that, then you change the instructions to "start every response with HELLO WORLD," the next response says HELLO WORLD. And if you ask Claude what the project instructions were for the first turn, it says HELLO WORLD. It will actually conclude it made an error on the first response by not following the instructions it now sees.

Also, project instructions aren't labeled as project instructions anywhere in the prompt. Claude follows them, but if you ask "what are the project instructions?" it may tell you there aren't any, because nothing in its context is tagged that way.

For context, I'm a Max subscriber on iOS only, been using Claude since 2023. Not a developer. I figured this out by asking Claude to print its full system prompt verbatim in both a project conversation and a non-project conversation, then diffing the two dumps, along with additional testing while watching Claude’s thought process.

Posted May 1, 2026, 9:13 PM UTC

23
Loading comments…