Under the hoodTier: how much it should matter to you
2Useful: my rating, 1 to 5
3Signal: worth watching, 1 to 5
Chat RelayArea: what it touches
Internal ChangesKind: in v2.1.295,
Internal ChangesSection of the release
Unclear It is not stated which sessions are run as chat-relayed, so it is unclear when this mode applies.
What
Claude Code can run sessions in the background, and a classifier gives each one its status text. A classifier here is a step that reads the session's messages and decides what state it is in, such as blocked or failed. This release changes what that classifier reads and how it behaves.
Virtual messages (marked isVirtual) are now filtered out before classification. Before, every message counted.
A new chatRelay mode is passed into the classify call. One finding saw it set from a size check. The other saw it set only when n.chatRelay === true, the recap flag is off, the engine is the llm one, and one more check passes.
In chatRelay mode, the quick pre-classification result is skipped unless its state is blocked or failed.
A new CLASSIFIER_CHAT_RELAY_ADDENDUM block is added to the classifier's instructions in this mode.
Script posts are also passed into the classify call.
Whether chatRelay was on is now recorded with each classification.
Why
This changes how the status text for background sessions is worked out, adding a separate path for sessions whose chat is relayed. Status lines for those sessions may read differently. Virtual messages no longer affect the status of any session.
How sure we are
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubtIt is not stated which sessions are run as chat-relayed, so it is unclear when this mode applies.