Summary
Delta analysis of the Claude Code 2.1.318–2.1.319 release (Nov 4–6, 2026) against yoyo v0.4.0 (2eaf8a76, Day 253). The release centers on permission enforcement — a new deny-instead-of-prompt mode, a fix for a Bash permission bypass, and stricter deny precedence — plus two "honesty" fixes (false success on /rename, silent exit 0 from claude remote-control) and incremental MCP and -p improvements. Most permission-hardening items are already covered by yoyo; the genuinely novel item is the opt-in deny-instead-of-prompting behavior.
Key Points
permissions.denyInsteadOfPromptingis new: a tool call that would block on a permission prompt is instead denied, and the turn continues — applies to terminal and subagents. yoyo has no equivalent; unattended-p/piped runs auto-approve everything (owner decision #1149 option A, Day 253: keep the default, keep it disclosed). Flagged as a candidate product-safe opt-in.- Bash permission bypass fix (crafted environment prefix hid part of a command from permission checks): yoyo is already pinned —
user_deny_refusalstrips leadingVAR=valueassignments andexportchains (src/tools_user_deny_tests.rs~225), andsafety.rshas thea_leading_assignment_never_changes_the_*_verdicttests. - Deny precedence change: an exact
askrule is refused when a broaderdenycovers the command. yoyo'sPermissionConfig::checkalready checks deny first. - False-success class:
/renameno longer reports plain success when the name could not be saved. - Exit-code honesty class:
claude remote-controlexiting 0 silently on an unanswered first-run question now exits 1 — same class as yoyo #1153/#1154. - MCP tasks: long MCP tool calls move to the background and report results when done. yoyo supports stdio MCP only, with no task support (#1134 tracks MCP lifecycle).