Unclear It is not clear which feature runs this check or what Claude Code does when a repository is treated as tampered.
What
Before Claude Code uploads your working folder to a cloud session, it checks that the git repository looks safe to send. Git is the version-control tool that tracks changes to your files. This check is now stricter and explains itself more precisely.
- A repository that uses a different way of storing references (git's
extensions.refStorage, for example reftable), or an environment whereGIT_REFERENCE_BACKENDis set, is now treated as tampered with. The upload is refused with the newref_storagemessage, "Nothing was uploaded." An environment variable is a setting passed to a program from outside it. - A linked worktree, a second working folder sharing one repository, is refused if its shared git folder is not the one expected.
- The git folders are now held open while they are checked, and their identities are compared, instead of a simple yes or no check.
- Refusals now carry named reasons such as
git_dir_tampered,work_tree_replacedandgit_did_not_run_from_outside. - Git's own error text is no longer shown, "because it can quote private files".
- The
work_treemessage used to say to checkgit statushere. It now says to check that you can still open this folder. - The
included_configandborrowed_objectsmessages are shorter or handed off elsewhere.
Why
If your repository uses reftable storage, or you set GIT_REFERENCE_BACKEND, uploads to cloud sessions will now be refused. You get a clear message instead of an upload that may not reflect your files correctly.
It is not clear which feature runs this check or what Claude Code does when a repository is treated as tampered.