{"version":"2.1.202","anchor":"bug-fixes","canonical_anchor":"bug-fixes","heading":"","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.202\/e\/bug-fixes","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.202","markdown":"- Hook async JSON output that fails schema validation now gracefully delivers recognized fields (`systemMessage`, `metrics`, `hookSpecificOutput`) instead of dropping everything. Malformed individual fields are logged and skipped rather than failing the whole hook output. (search for `\"async hook JSON output failed schema validation\"`)\n\n- `VirtualMessageList` desync between item keys and messages array now produces specific diagnostic messages distinguishing a length mismatch from an undefined element, improving debuggability. (search for `\"VirtualMessageList: itemKeys\/messages length desync\"`)\n\n- The `totalTokensReminder` setting's `padded-countdown` mode gains a new `totalTokensReminderAfterUserTurn` flag. When enabled, the token budget re-anchors to the full configured value at the start of each user turn (task-budget semantics) and the reminder also fires after regular user prompts, not only after tool results. (search for `\"CLAUDE_CODE_TOTAL_TOKENS_REMINDER_AFTER_USER_TURN\"`)\n\n- Session hook failures during session reset are now caught and logged with `[skills] session-reset hook failed:` rather than propagating as unhandled errors. (search for `\"[skills] session-reset hook failed:\"`)"}