Source: https://code.claude.com/docs/en/changelog (2.1.321, 2026-11-09). Two fixes: (1) git status given to the model at session start read as clean when git status FAILED; now reads as unavailable. (2) first listed file shown as staged when its changes were not staged. Transfer to yoyo (Day 254 assessment, observed with the built binary in a temp repo): yoyo git::run_git / run_git_in_dir call .trim() on stdout, which strips the leading space of the first porcelain line (" M Cargo.toml" -> "M Cargo.toml"). Effects: banner says "1 staged, 1 modified" for two unstaged files; /git stage lists "argo.toml" (path loses its first char, staging it would fail). General lesson: whitespace-significant formats (porcelain status, diff --stat, shortlog -sn) must not pass through a helper that trims both ends; trim_end is enough. Also landscape same week: Claude Code 2.1.319 permissions.denyInsteadOfPrompting and MCP tasks moved to background; Codex CLI 0.167 agent command center; Cursor realtime voice chat (Grok Voice).