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

Claude Code v2.1.233 ·

Incremental repo reset now uses a detached checkout

Managed-compute repo updates now use a detached checkout instead of a merge.

Under the hood Internal Changes
JSON All of v2.1.233
Under the hoodTier: how much it should matter to you
2Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
ElsewhereArea: what it touches
Internal ChangesKind: in v2.1.233,
Internal ChangesSection of the release
What

In the managed-compute git sync path, the fast update taken when a previous HEAD exists switched from a merge into the working tree plus a HEAD update to a single quiet detached checkout --progress --detach FETCH_HEAD^{commit}, still with core.checkStat=minimal and core.trustctime=false.

Details
  • Gated on the CCR_DELTA_RESET environment variable; when it is unset the code goes straight to the reset --hard FETCH_HEAD^{commit} path, which is unchanged.
  • The precondition is now a plain rev-parse --verify --quiet HEAD^{commit} probe rather than resolving and sha-validating the old HEAD.
  • The pre-reset update-ref --no-deref HEAD HEAD now runs only when the fast path is not taken or as part of the fallback, and an aborted checkout is rethrown instead of falling through to the hard reset.
Evidence

CCR_DELTA_RESET, core.trustctime=false

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.233 →

Feedback