Under the hood
Precomputed compaction now remembers when a plugin hook rejected it, to avoid retrying the same attempt
What
When Claude Code tries to arm a precomputed (background) compaction, it now checks whether that attempt has already been vetoed. If a session.compact plugin hook previously rejected the compaction, the attempt is skipped, and a veto is recorded whenever a hook-driven compact is skipped this way.
Why
This stops Claude Code from repeatedly trying to precompute the same compaction that a plugin hook keeps rejecting, avoiding wasted work.