{"version":"2.1.280","anchor":"custom-system-prompt-updates-now-apply-only-after-compaction","canonical_anchor":"custom-system-prompt-updates-now-apply-only-after-compaction","heading":"Custom system prompt updates now apply only after compaction (unless systemPromptSnapshot:false)","tier":"notice","area":"SDK","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.280\/e\/custom-system-prompt-updates-now-apply-only-after-compaction","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.280","markdown":"### Custom system prompt updates now apply only after compaction (unless systemPromptSnapshot:false)\n\nSDK custom system prompt updates now apply after the next compaction, not the next turn\n\n**What**\n\nFor Claude Code SDK sessions that replace the system prompt via MCP, updating that custom system prompt no longer takes effect immediately. Previously the new prompt text applied starting from the next turn. Now the session keeps using its already-recorded system prompt, and the new text is only sent after the next compaction (the point where Claude Code condenses the conversation history to save space). Setting `systemPromptSnapshot: false` restores the old behavior, applying the new prompt from the next turn.\n\n**Why**\n\nThis changes when SDK users should expect a system prompt update to actually reach the model, so anyone relying on immediate effect needs to either wait for compaction or set `systemPromptSnapshot: false`.\n\n- Area: SDK\n- Names: `systemPromptSnapshot`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 2\/5"}