At the start of a session Claude Code gathers context for Claude, such as your CLAUDE.md files, and delivers it in one of two formats: announced or inline. It now records which format a conversation uses.
If a conversation already uses the announced format and gathering the context fails, Claude Code now keeps the announced format with empty context, and tries again after compaction (when older parts of the conversation are condensed to save space). Before, it fell back to the inline format. Such failures are now logged. Conversations detected as inline skip the announced path. That detection is controlled by a remote switch that is on unless it is switched off remotely.
This keeps context delivered in one consistent format throughout a conversation, rather than changing format partway through after an error.
It is not clear what the announced and inline formats look like in practice, or whether the one remote switch is the only thing controlling…