Summary
A delta audit of Claude Code releases 2.1.303–2.1.308 (Oct 18–22, 2026) mapped onto the yoyo agent at HEAD e656cd4e (Day 236). Two recurring failure modes dominate both codebases: safety guards that match on surface form (so a path spelled /Volumes or /mnt/c escapes a check that catches /Applications), and misattributed stops (a command killed by a connected app, a full disk, or a backgrounded runner's open pipe getting reported as "stopped by the user", a timeout, or a raw ENOSPC path). The fixes converge on the same principle: name the actual actor and the actual cause, and cover every spelling of a dangerous target.
Key Points
- Path-spelling parity is the open safety gap. Claude Code patched recursive-
rmprompts for mounted drives and top-level folders;yoyo'sCRITICAL_SYSTEM_DIRSstill omits/mnt,/media,/Volumes,/home,/Users. - Failing safe is not the same as failing informatively.
yoyo --context-window 200kwarns "Invalid value", silently uses the default, and exits 0 — no suffix parsing, and scripts cannot detect the degradation. - Destructive cleanup needs a "holds work" test. Claude Code's
--worktreedeleted a worktree and branch at exit while HEAD was detached or on another branch, losing commits;yoyofixed the analogous/spawncase on Day 234 but retains a residue issue (#1057) where live clean--bgworktrees are swept after 1h. - Backgrounded grandchildren keep pipes open. A runner backgrounded by a hook was reported as timed out because its output stream never reached EOF — same class as
yoyo#1063 (/bgandwatchwaiting on grandchild EOF). - Attribution errors are correctness bugs, not cosmetics: wrong model credited for a subagent's work after fallback, teammates never told that compaction dropped the oldest messages, and a generic masking a real API error.