Uploading a repo to a cloud session can read a scrubbed private copy of your git metadata.
The sanitized git staging directory only runs on the bundle route, via CCR_FORCE_BUNDLE, CCR_ENABLE_BUNDLE or a server gate with no local fallback.
tengu_ccr_bundle_seed_enabled Gate removed from the codeThis release deleted the gate from the code while it was still reading on for the account this site reads, so the code path no longer asks a flag before running.
This account: on · anonymous baseline: on · compiled default in v2.1.247: not a boolean we can read
Read once, for one account on one subscription tier, against v2.1.247. It isn't a statement about your account. What a flag value here can and cannot tell you
What's wrong with this entry?
A new module builds a throwaway git directory under ~/.claude/seed-admin when a cloud session uploads your repo as a bundle, so the upload reads a scrubbed copy of HEAD, refs and the index rather than your working .git. It only runs when the bundle route is taken: set CCR_FORCE_BUNDLE or CCR_ENABLE_BUNDLE, or have the remote gate tengu_ccr_bundle_seed_enabled on. That gate has no compiled fallback at the call site, so off the env vars it is entirely the server's call.
- The staged directory gets a fresh config carrying only a whitelist of safe keys such as
core.autocrlf,core.eol,core.symlinksandcore.filemode, with automatic gc and maintenance disabled. The index, packed-refs and shallow files are copied and the object store is linked in (via a junction on Windows). - It refuses with plain reasons, including that HEAD is not a branch or an object id, that too many shared-index files are present, and placement checks that the staged directory is not inside your checkout or is not a plain directory owned by you.
- The git environment is scrubbed of
GIT_EXEC_PATH,LD_PRELOAD,DYLD_INSERT_LIBRARIESand similar before anything runs, and leftover directories from earlier crashed runs are swept. - The upload path gained failure text explaining that this directory is made under
~/.claude/seed-adminfrom the checkout's HEAD and index.
~/.claude/seed-admin is not a plain directory of this user
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
Related
Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.
-
v2.1.238
Cloud sessions check the repo before offering to sync, and say why when they cannot
Both mention force bundle enable
-
v2.1.246
Cloud sessions can start from a plain folder, not just a git checkout
Both mention bundle enable