What
The SDK (the kit developers use to build their own programs on top of Claude Code) sends a conversation_reset message whenever the current conversation is thrown away. That message now has three new optional fields:
triggersays what discarded the conversation:clear,plan_mode_exit,fresh_sessionoronboarding.clearmeans the/clearcommand or its aliases/resetand/new.user_message_uuidlets a program match the reset to the/clearmessage it has already seen.timestampis an ISO time that can be shown to the user.
The description of the message now also lists onboarding re-runs as a cause. The ultraplan flow that implements a plan "in a fresh session" now marks its reset as fresh_session.
Why
Programs built on the SDK, and Remote Control clients, can now tell why a conversation was reset. They can also clear a transcript exactly once, even when the related messages arrive out of order.