{"version":"2.1.246","anchor":"cloud-directory-sync-is-now-git-only-plus-a-new-mode-for-pla","canonical_anchor":"cloud-directory-sync-is-now-git-only-plus-a-new-mode-for-pla","heading":"Cloud directory sync is now git-only, plus a new mode for plain folders","tier":"use","area":"Cloud Sessions","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.246\/e\/cloud-directory-sync-is-now-git-only-plus-a-new-mode-for-pla","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.246","markdown":"### Cloud directory sync is now git-only, plus a new mode for plain folders\n\nCloud directory sync now only does git; the per-file and archive engines are gone.\n\n**What**\n\nCloud sessions started outside a git checkout can now sync through a new \"folder\" engine that seeds a git store from the folder. At the same time the two older engines are gone: the per-file sync that pushed changes file by file and the archive engine that packed changes into tar\/gzip bundles. `CLAUDE_CODE_DIR_SYNC_ENGINE` now accepts only `git`, `always-git`, and the off words `none`\/`off`\/`0`\/`false`\/`no`; `CLAUDE_CODE_DIR_SYNC_ARCHIVE` no longer exists.\n\n**Details**\n\n- Folder mode is only considered when there is no git root and sync is not switched off by the env words. Its state lives in a `folder-sync` directory beside the older `archive-sync`\/`cloud-snapshots` ones, and push telemetry is tagged `origin: \"folder\"`.\n- The offer to sync a plain folder is refused for your home directory, the filesystem root, a hidden or system directory under home, or a folder holding Claude's own config (reasons `folder_is_home`, `folder_is_root`, `folder_holds_config`, `folder_hidden_under_home`, `folder_system_under_home`). The offer itself sits behind an additional flag check whose name is not visible in the build.\n- Folder seeding reports seed file and byte counts and new failure outcomes `folder_engine_open_failed`, `folder_engine_stopped_early`, `folder_engine_register_failed`. Git-repo seeding now refuses linked worktrees (`git_engine_linked_worktree`) unless a separate predicate allows them.\n- Removed with the old engines: their conflict and trash wording, their seed gates, the per-file pull lines such as the ones users saw when files arrived from the cloud, the `dirSyncEngine: \"files\"` project preference, the `archive-sync.json` session record and its validation error, and the `dir_sync_worker_archive_switch_on` telemetry. The git switch `CLAUDE_CODE_DIR_SYNC_GIT` remains.\n- With sync switched off by env the session now says so plainly: changes will not cross in either direction until the variable is unset and a new cloud session is started. Several sync notices were also demoted to debug, so cloud sessions start up quieter.\n\n**Evidence**\n\n`folder-sync`, `openFolderGitSync`, `known: git, always-git (defaults), none\/off\/0\/false\/no (no directory sync)`, `CLAUDE_CODE_DIR_SYNC_ARCHIVE`, `File sync is switched off on this machine by CLAUDE_CODE_DIR_SYNC_ENGINE, so changes won't cross either way in this session. Unset it and start a new cloud session to sync.`, `tengu_dir_sync_seed_gate_send`, `dir_sync_worker_git_switch_on`, `ccr_dir_sync_seed`, `ArchiveSessionRecordInvalidError`, `archive-sync.json`\n\n- Area: Cloud Sessions\n- Names: `CLAUDE_CODE_DIR_SYNC_ENGINE`\n- Tier: Use it now\n- Useful: 4\/5\n- Signal: 3\/5"}