{"version":"2.1.252","anchor":"session-context-refresh-message-now-states-the-reason-and-ha","canonical_anchor":"session-context-refresh-message-now-states-the-reason-and-ha","heading":"Session context refresh message now states the reason and handles empty state","tier":"notice","area":"Session Context","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.252\/e\/session-context-refresh-message-now-states-the-reason-and-ha","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.252","markdown":"### Session context refresh message now states the reason and handles empty state\n\nClaude now explains why your session context was refreshed, like after compaction or a settings sync.\n\nThe system message injected when session context (`userEmail`, `attachedProject`, `gitStatus`, `perforceMode`) changes now states the specific reason it was regenerated, such as \"after the conversation was compacted\", \"after the organization's managed settings changed\", \"after a working directory was added\", \"after settings were synced onto this machine\", \"after the account changed\", or \"when this session started\" \u2014 replacing the previous generic \"The session context has changed; these values replace the earlier ones\". If none of the context fields are present anymore, Claude Code now emits an explicit notice that the previously announced values no longer apply, instead of emitting nothing.\n\n- Area: Session Context\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 1\/5"}