{"version":"2.1.281","anchor":"sdk-conversation-reset-frame-gains-trigger-user-message-uui","canonical_anchor":"sdk-conversation-reset-frame-gains-trigger-user-message-uui","heading":"SDK conversation_reset messages say what caused the reset","tier":"use","area":"SDK","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/sdk-conversation-reset-frame-gains-trigger-user-message-uui","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### SDK conversation_reset messages say what caused the reset\n\nThe SDK conversation_reset message gains optional trigger, user_message_uuid and timestamp fields, and ultraplan's fresh-session flow sets its trigger\n\n**What**\n\nThe 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:\n\n- `trigger` says what discarded the conversation: `clear`, `plan_mode_exit`, `fresh_session` or `onboarding`. `clear` means the `\/clear` command or its aliases `\/reset` and `\/new`.\n\n- `user_message_uuid` lets a program match the reset to the `\/clear` message it has already seen.\n\n- `timestamp` is an ISO time that can be shown to the user.\n\nThe 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`.\n\n**Why**\n\nPrograms 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.\n\n- Area: SDK\n- Names: `conversation_reset`\n- Tier: Use it now\n- Useful: 2\/5\n- Signal: 2\/5"}