Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.308 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.163 ·

Workflow VM Security Hardening

Entry
JSON All of v2.1.163
EntryKind: in v2.1.163,
ChangesSection of the release
What

The workflow VM execution environment was substantially hardened against Proxy-based attacks that could cross the JavaScript VM sandbox boundary.

Details
  • Arrays crossing the VM boundary are now deep-cloned inside the VM sandbox. The array length is read once (preventing a Proxy length getter that increments from causing an infinite loop on the host thread).
  • The maximum array length crossing the boundary is capped; exceeding it throws a clear error rather than hanging.
  • Functions are never cloned across the boundary (they become undefined).
  • A private _CAP symbol on boundary-cap errors prevents hostile Proxy traps from intercepting and suppressing the error.
  • The budget object passed to workflows now uses __proto__: null to prevent prototype chain pollution.
  • agent, parallel, pipeline, workflow, and args are injected into the VM context via Object.defineProperty with proper wrapping rather than being in the initial context literal.
  • The args value is serialized with JSON.stringify/JSON.parse through the VM context to prevent host-side Proxy objects from being accessible inside the script.
Evidence

Cross-VM clone code (search for "array length is not a safe integer across the workflow VM boundary")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

See this entry in the whole of v2.1.163 →

Feedback