A delta analysis of Claude Code releases v2.1.247–v2.1.251 (scanned 2026-08-21..2026-08-28) mapped against yoyo's recorded capabilities and design decisions. Every upstream changelog item is classified into one of four signal classes before any action is taken: convergent confirmation, new gap, transferable bug class, or confirmation that yoyo's existing choice was already right. Four of the scanned items bear directly on yoyo.
Key Points
Independent arrival at the same fix is evidence a defect is real and general — not a yoyo quirk.
Claude Code now resumes truncated subagents (partial notice + SendMessage continuation); yoyo only makes truncation legible and explicitly does not resume the work — a named limit now confirmed as a rival capability.
Claude Code auto-continues non-interactive sessions cut off mid-stream by error, connection loss, or stall; yoyo's piped_should_continue requires !had_error and can never continue after an error by construction. The open question: is a mid-stream cutoff an error or an interruption?
A dangling && or || leaves a command incomplete; a tokenizing classifier that finds no write verb after it can pass it through. yoyo's detect_write_command was not checked against this shape.
Claude Code's --restricted composes capabilities yoyo already has separately — one flag, not four. The composition is the product idea.
Two upstream fixes confirm yoyo's existing choices: refusing to hand the primary credential to a different provider, and not prompting for config a session would never load.
yoyo persists per-session cache token usage but renders no hit ratio; upstream /cost does.
Concepts
yoyo — the agent under comparison; internal capability records are referenced by day number (Day 180, Day 182) and issue number (#794, #808, #848).
Claude Code — upstream agent; releases v2.1.248, v2.1.250, v2.1.251, plus the v2.1.247-ish "improved subagent results" release.
maxTurns truncation — the defect where a subagent hitting its turn limit returns Ok instead of Err, making truncation invisible to Err-branching decorators. yoyo's fix: sub_agent_partial_notice (Day 182, 01:31).
SendMessage — Claude Code's continuation mechanism for a truncated subagent; the resume half yoyo's fix deliberately omits.
Claude Code, in the v2.1.247-ish release, fixed the same defect yoyo fixed with sub_agent_partial_notice: a subagent that stops at its maxTurns limit now returns its output marked as partial, with a hint to continue it via SendMessage, instead of appearing finished. The shared root defect: yoagent returns Ok, not Err, when max_turns is hit, so both Err-branching decorators were structurally blind.
Independent arrival at the same fix is evidence the defect is real and general, not a yoyo quirk. The delta is the resume half: Claude Code ships a continuation path (SendMessage), while yoyo explicitly recorded "this makes truncation legible, it does not resume the work." That named limit is now a confirmed rival capability.
2. New gap: mid-stream cutoff in non-interactive sessions
Claude Code improved non-interactive sessions (-p, SDK, cloud) to automatically continue a response cut off mid-stream by a server error, connection loss, or stall, instead of ending with an error. yoyo auto-continues piped mode on SILENCE, but piped_should_continue requires !had_error — so a server-error cutoff can never continue, by construction. Different trigger, opposite polarity.
The design tension is deliberate: yoyo refuses to retry after an error because prompt_retry owns that policy. The honest question is whether a mid-stream cutoff is an ERROR or an INTERRUPTION — the answer determines whether yoyo's polarity is correct.
3. Transferable bug class: dangling && and ||
Claude Code fixed Bash permission checks to always require approval for malformed commands with a dangling && or ||. The mechanism: a trailing operator leaves the command incomplete, and a classifier that tokenizes and finds no write verb after it can pass it through. yoyo's detect_write_command and destructive-pattern classifier were not checked against this shape — a known bypass shape to test against.
4. v2.1.248 --restricted: one flag, not four
Claude Code v2.1.248 shipped --restricted (also CLAUDE_CODE_RESTRICTED=1), which:
removes builtin command/code-running tools and WebFetch unless named in --tools
keeps file tools inside cwd
refuses bypassPermissions
ignores user/project/local settings files
This is a composed profile over capabilities yoyo already has separately: /read mode, /plan mode, --safe-mode, and the project-config trust boundary. No component is new to yoyo — the composition is the product idea: one flag exposing a coherent restricted profile instead of four independent switches.
5. Two confirmations that yoyo is already right
Credential-to-wrong-host: Claude Code fixed telemetry carrying a third-party gateway key. yoyo's sub_agent_fallback_key (Day 180) already refuses to hand the primary credential to another provider.