{"version":"2.1.216","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.216\/e\/bug-fixes","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.216","markdown":"- Permission stream failures now produce distinct, specific error strings instead of a single generic failure: `\"tool permission stream closed before response received\"`, `\"canUseTool returned a schema-invalid permission result\"`, `\"tool permission request failed\"`, `\"tool permission request aborted\"`. Evidence: (search for `\"tool permission stream closed before response received\"`)\n\n- UTF-8 BOM (byte order mark, `\ufeff`) is now stripped from file content at the point it is read, preventing it from appearing in tool results and diff output. Evidence: (search for `\"charCodeAt(0) === 65279\"`)\n\n- Sessions interrupted by daemon shutdown are now tagged `{ kind: \"interrupted_turn\" }` separately from other interruption types, enabling the host UI to show a different recovery prompt. Evidence: (search for `\"interruptedByShutdown\"`)\n\n- Model routing telemetry (`tengu_refusal_fallback_route_declined`) now reports cascade chain details: `chain_length`, `chain_entry_index`, and `chain_entry` on unresolvable chain entries, giving better visibility into multi-hop fallback failures. Evidence: (search for `\"chain_entry_unresolvable\"`)\n\n- The `removeAgentWorktree` function no longer requires a git root when the worktree path is rootless; it now delegates to the new `UZt` safe-remove path rather than returning a `\"no git root for the worktree\"` hard error. Evidence: String removed from old version (search for `\"Removed agent worktree with no git root at:\"` in new).\n\n- Worktree-isolated agent shell commands that redirect git into the shared checkout are now blocked with a clear explanation: \"Refusing to run it \u2014 a worktree-isolated agent's git operations must target its own worktree.\" Evidence: (search for `\"commands from a worktree-isolated agent must run inside its worktree\"`)\n\n- MCP OAuth token revocation errors (`Failed to revoke replaced tokens:`) are now caught and logged without blocking the token replacement flow. Evidence: (search for `\"Failed to revoke replaced tokens:\"`)"}