Summary
Incremental scan of anthropics/claude-code releases (versions 2.1.295 through 2.1.302, feed updated 2026-10-16), each item triaged against the yoyo agent at HEAD dca0bf3d (Day 231). The purpose is parity analysis: for every upstream change, record whether yoyo already behaves the same way, is stricter, is looser, or has simply never been checked.
Of the nine substantive items, most turned out to be no-gap — yoyo's existing implementation already matched or exceeded Claude Code's new behavior. The genuine open items are a small number of unchecked analogues (TTY waiting-status output, MCP description cap, retry-watchdog wait cap, parallel hook cap) and one place where yoyo's design is deliberately looser than upstream's new opt-in (CLAUDE_CODE_DISABLE_FILE_MENTIONS).
Key Points
- Hook failure semantics. 2.1.295 adds an
onFailure: "block"setting for command/HTTP hooks, so a hook that cannot start, times out, or exits unexpectedly blocks the action. yoyo already fails closed on pre-hooks (src/hooks.rs: timeout →Err→Blocked by hook) and fails open on post-hooks (passthrough). yoyo is therefore stricter than upstream's default — no gap. @file mentions. 2.1.299'sCLAUDE_CODE_DISABLE_FILE_MENTIONSmakes@mentions pass paths rather than file contents, so the model must read them with file tools and normal file-tool permissions and fences apply. yoyo has inlined@pathcontents through its fenced reader since Day 222 (#1002) — a real divergence in control semantics, not just behavior.- Cost model already matched. Sonnet 5.5 cache reads dropped from 0.20 to 0.10 per M; yoyo's
agent_builder.rsalready callswith_cache_read(0.10). - Ask-once-per-scope is the recurring upstream shape. The Chrome/VSCode change (ask before browser actions each session; an allow lasts the session) mirrors yoyo #879's read fence. Together with the fail-closed hook opt-in, this is the dominant pattern in this delta.