{"version":"2.1.265","anchor":"rewind-failure-reasons-switched-from-free-text-strings-to-st","canonical_anchor":"rewind-failure-reasons-switched-from-free-text-strings-to-st","heading":"Rewind failure reasons switched from free-text strings to stable machine codes","tier":"internal","area":"Sessions","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.265\/e\/rewind-failure-reasons-switched-from-free-text-strings-to-st","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.265","markdown":"### Rewind failure reasons switched from free-text strings to stable machine codes\n\nRewind failure reasons are now stable codes instead of free-text messages\n\n**What**\n\nRewind (the feature that lets you roll conversation history back to an earlier point) used to report failures as human-readable strings like \"commands queued\", \"target not found\", \"stale target\", or \"poll tool_result target\". These are now built through a shared helper and expressed as snake_case codes: `commands_queued`, `target_not_found`, `stale_target`, `poll_tool_result_target`.\n\n**Why**\n\nStable codes are easier to match on programmatically (for logging, telemetry, or tooling) than free-text messages that could change wording. This doesn't change what rewind does, just how its failures are labeled internally.\n\n- Area: Sessions\n- Names: `commands_queued`, `target_not_found`, `stale_target`\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 1\/5"}