What
When a cloud session and your machine exchange git history, Claude Code checks each incoming bundle with index-pack. It used to run this check in plain --strict mode. That changes in several ways:
index-packnow runs with--strict=plus a list of known problems to ignore, and the list depends on which side is receiving. Both the container and your machine ignore problems such asbadDate,badEmailandzeroPaddedFilemode, and the container also ignoresgitmodulesUpdate.- A bundle that is still refused is logged as
dir_sync_git_receive_fsck_refused. - Creating a bundle adds
--no-reuse-object, depending on your git version. - When there are more fork points than the limit allows, they are chosen oldest first, using dates from
rev-list --timestamp. A fork point is where two lines of history split. - Git now runs from a program location found for the session's root folder, not from one fixed program.
- The sync data gains a
setAsidelist and asetAsideTruncatedmarker. A new helper capssetAsideat a limit and setssetAsideTruncatedwhen the list is cut short.
Why
Repositories whose history contains malformed commit details, such as bad dates or email addresses, should no longer fail to sync. The set-aside list also can no longer grow without bound.
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
The finding does not say what the set-aside list holds, where a reader would see it, or what the limit is.