Cloud 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.
- 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-syncdirectory beside the olderarchive-sync/cloud-snapshotsones, and push telemetry is taggedorigin: "folder". - 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. - 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. - 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, thearchive-sync.jsonsession record and its validation error, and thedir_sync_worker_archive_switch_ontelemetry. The git switchCLAUDE_CODE_DIR_SYNC_GITremains. - 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.
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
Strings lifted out of the shipped bundle, so the claim above can be checked against them.