{"version":"2.1.301","anchor":"autocompact-offer-dialog-dark-unless-a-remote-config-object","canonical_anchor":"autocompact-offer-dialog-dark-unless-a-remote-config-object","heading":"New dialog offering to autocompact earlier, controlled by a server-side config","tier":"notice","area":"Compaction","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.301\/e\/autocompact-offer-dialog-dark-unless-a-remote-config-object","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.301","markdown":"### New dialog offering to autocompact earlier, controlled by a server-side config\n\nA new 'We recommend compacting earlier' dialog can offer to lower your autocompact threshold, shown only when a server-side config selects the offer\n\n**What**\n\nAutocompact is the feature that automatically summarizes a long conversation once it gets close to the model's context window, which is the amount of text the model can hold at once. This build adds a dialog titled \"We recommend compacting earlier\". It offers to autocompact at a smaller size, for example \"Autocompact at \u2039 N \u203a tokens\", or to keep your current setting. Before this, the same component only recorded that you were eligible and never showed anything.\n\n- After Claude replies, Claude Code compares the conversation's size with a trigger point and may ask you, at most once per account and model.\n\n- The dialog opens through the normal dialog system. A limit on how many times it asks (`maxAsks`) and a count of how often you pressed Esc (`escCount`) cap how often it appears.\n\n- It is skipped when the terminal is too short or when you have scrolled away from the bottom.\n\n- Choosing the smaller size writes the new autocompact window to your user settings, applied through `applyFlagSettings`.\n\n- A stored `autoCompactOffer` state remembers when you became eligible, how often you dismissed it, and whether you accepted (with the token size) or kept your setting. These helpers were already present in the previous build.\n\n- You are only eligible when onboarding is finished, your account has an ID, your model has a 1M-token window that needs no opt-in, auto-compact is on, and user settings are enabled.\n\nThe offer is driven by a config object read from `tengu_binary_music`, with an empty fallback. When that object is empty or missing, nothing happens. When it is served, its `arm` is either \"control\" or \"offer\", and only \"offer\" shows the dialog. Nothing has been read about this gate yet, so whether anyone sees the dialog is unknown.\n\n**Why**\n\nIf the dialog appears and you accept, conversations will be summarized earlier than before, because your autocompact setting is actually changed in your user settings. You can keep the current setting instead, and the dialog will not keep asking.\n\n- Flag `tengu_binary_music`: Not enough to say (read for one account on one subscription tier against v2.1.301; this account: no value returned, anonymous baseline: no value returned, compiled default: not a boolean we can read) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.\n- Area: Compaction\n- Tier: You'll notice\n- Useful: 4\/5\n- Signal: 4\/5\n- Scope: individual\n- Heads-up: no"}