{"version":"2.1.290","anchor":"git-repository-check-now-rejects-git-reference-backend-and-c","canonical_anchor":"git-repository-check-now-rejects-git-reference-backend-and-c","heading":"Uploads to cloud sessions refuse repositories with alternate ref storage, with clearer refusals","tier":"notice","area":"Git","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290\/e\/git-repository-check-now-rejects-git-reference-backend-and-c","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290","markdown":"### Uploads to cloud sessions refuse repositories with alternate ref storage, with clearer refusals\n\nThe git check before uploading a folder to a cloud session now refuses reftable or GIT_REFERENCE_BACKEND repos, names its reasons and hides git's own output\n\n**Unclear.** It is not clear which feature runs this check or what Claude Code does when a repository is treated as tampered.\n\n**What**\n\nBefore 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.\n\n- A repository that uses a different way of storing references (git's `extensions.refStorage`, for example reftable), or an environment where `GIT_REFERENCE_BACKEND` is set, is now treated as tampered with. The upload is refused with the new `ref_storage` message, \"Nothing was uploaded.\" An environment variable is a setting passed to a program from outside it.\n\n- A linked worktree, a second working folder sharing one repository, is refused if its shared git folder is not the one expected.\n\n- The git folders are now held open while they are checked, and their identities are compared, instead of a simple yes or no check.\n\n- Refusals now carry named reasons such as `git_dir_tampered`, `work_tree_replaced` and `git_did_not_run_from_outside`.\n\n- Git's own error text is no longer shown, \"because it can quote private files\".\n\n- The `work_tree` message used to say to check `git status` here. It now says to check that you can still open this folder.\n\n- The `included_config` and `borrowed_objects` messages are shorter or handed off elsewhere.\n\n**Why**\n\nIf 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.\n\n- Area: Git\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: yes"}