Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.217 Home All releases olderv2.1.216 v2.1.218newer
Claude Code v2.1.217

  • Fixed resume attachment validation: malformed or missing attachment payloads in saved transcripts are now dropped with an error log rather than causing resume to fail (search for "the session transcript appears partially corrupt")
  • Fixed the workflow VM sandbox to properly handle MCP-thrown errors in resolveDeep's auto-await loop — a script ending on an unawaited MCP call no longer silently swallows the error (search for "mcpToolError: true")
  • Fixed request cancellation in the load-balancing request router: when a request can't be sent and falls back to local handling, the outstanding remote request slot is now explicitly cancelled via cancelRequest() (search for "i.cancelRequest(a)")
  • Fixed the bridge prependUserMessage method: adding a prepended message now wakes the async input reader immediately rather than waiting for the next chunk, which fixes a race in remote workflow dispatch (search for "prependWaker")
  • Fixed fleet view: deleting a pinned background agent now also unpins it before deletion, preventing stale pin state (search for "Gos(o.id, !1).catch")
  • Fixed skills/list validation to also reject oversized fields (previously only checked for malformed/missing required fields) (search for "malformed, missing, or oversized fields")
  • Fixed discoveryCache leaking into serialized MCP server config: the field is now deleted before the config is stored (search for "delete a.discoveryCache")
  • Fixed injectControlResponse to return a boolean indicating whether the response was consumed — previously it always returned void, making it impossible for callers to detect no-op responses (search for "injectControlResponse")
  • Fixed word-wrap rendering in the terminal output renderer to use the correct source array (E vs v) when iterating tokens without wrapping (search for "R = E.map")
  • Fixed the workflow VM context builder to use the correct budget_usd registration path, ensuring budget tracking is available in the right VM scope (search for "ab(\"budget_usd\"")

See this entry in the whole of v2.1.217 →