{"version":"2.1.281","anchor":"cloud-file-sync-new-refusals-for-config-linked-project-dire","canonical_anchor":"cloud-file-sync-new-refusals-for-config-linked-project-dire","heading":"Cloud file sync: new refusals for config-linked project directories, reworded protected-commit message, exit telemetry","tier":null,"area":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/cloud-file-sync-new-refusals-for-config-linked-project-dire","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Cloud file sync: new refusals for config-linked project directories, reworded protected-commit message, exit telemetry\n\n`claude --cloud` file sync now explains refusals for project folders tied to Claude Code's configuration and rewords the protected-commit refusal\n\n**What**\n\nThe file sync used by `claude --cloud` now explains why it refuses when the project folder:\n\n- is linked from the Claude Code configuration\n\n- sits inside the configuration folder\n\n- cannot be examined, because it has too many entries, a path cannot be read, or it links to a network share\n\nThe `committed_protected` refusal now says that sync carries no commits that change protected files. The suffix \"move its filter rules into a .gitattributes file or remove it\" is no longer added to refusal messages.\n\nOn shutdown, a new `tengu_dir_sync_exit` event reports whether the final pull finished, was cut short or never happened. Files that sync moves aside now return an outcome with a `discardCopy` cleanup step, and a held file reports `held`.\n\n**Why**\n\nWhen sync refuses a project folder, you now get a reason that points at the cause."}