session.compact
A Claude Code settings key, read out of the shipped bundle. No mined inventory carries it: everything below comes from what this site has written about it.
A new session.compact plugin hook can intercept and rewrite conversation compaction
Not Anthropic's. This is the line from the earliest changelog entry here that named it, v2.1.267.
In the changelogs
7Releases whose published page names session.compact.
-
v2.1.299
Plugin hook modules get more events and organization policy limits
Plugin hook modules can respond to more events, while plugins people install themselves face limits where an organization manages Claude Code
found in this entry's text
-
v2.1.275
New plugin/session lifecycle hook events session.end and session.measure
Two new lifecycle events,
session.endandsession.measure, added for plugins and hooksfound in this entry's text
-
v2.1.267
Compaction can now be intercepted and rewritten by a session.compact plugin hook
A new
session.compactplugin hook can intercept and rewrite conversation compactionfound in this entry's text, named in this entry
-
v2.1.267
Hooks engine gains session.compact, session.receive, ui.resolve event contracts
The plugin hooks system adds validated event types for session compaction, session receive, and UI resolution
found in this entry's text, named in this entry
-
v2.1.267
Precomputed compaction gains a veto mechanism to avoid repeat attempts
Precomputed compaction now remembers when a plugin hook rejected it, to avoid retrying the same attempt
found in this entry's text
-
v2.1.267
session.compact implementation gated by DISABLE_COMPACT
session.compact now blocks itself while DISABLE_COMPACT is set or a turn is still running
found in this entry's text
-
v2.1.267
Compaction path records whether it was 'replaced by hook' vs core-run
Compaction now records when a hook fully replaced Claude Code's own summarization logic
found in this entry's text
First cited
4The earliest release whose published evidence quoted session.compact was v2.1.267, 9 Sep 2026. That is the oldest release this project wrote about it, so it is a floor on the name's age and not the release that introduced it. It is not a presence reading: which builds carried the name is the table below.
Presence across releases
0The miner has never read a build containing this name. It is here because a changelog entry of ours names it, which is evidence that it existed and not evidence of which releases carried it. The inventory starts at v2.1.138 and everything older than that was never mined.
Read out of the published npm bundle release by release, and out of Anthropic's own documentation as this site captured it. Nothing on this page is a description anybody here wrote about what the settings key does. All settings keys.