Claude Sync Documentation Télécharger

Documentation

Claude Sync garde vos conversations Claude Code identiques sur tous vos PC Windows. Cette page explique comment l'installer, héberger votre serveur et régler les cas particuliers. Version 0.2.1.

Fonctionnement

Claude Code enregistre chaque conversation dans un fichier .jsonl sous %USERPROFILE%\.claude\projects, dans un dossier nommé d'après le chemin du projet : C:\Users\alice\Desktop\app devient C--Users-alice-Desktop-app. Ces fichiers ne quittent pas le PC.

Claude Sync les réplique entre vos PC par un serveur que vous hébergez. Trois moments déclenchent une synchronisation :

  • À l'ouverture de Claude Code, les nouveautés des autres PC sont récupérées avant que vous ouvriez /resume.
  • À la fin de chaque réponse de Claude, ce qui vient d'être écrit est envoyé, en arrière-plan.
  • Toutes les 30 secondes, l'agent de Claude Sync vérifie s'il reste quelque chose à envoyer ou à recevoir.

Seules les nouvelles lignes d'une conversation sont transmises, compressées puis chiffrées. La synchronisation ne consomme aucun token : elle copie des fichiers, sans jamais appeler Claude.

Héberger son serveur

Il n'existe pas de serveur Claude Sync commun : chaque utilisateur héberge le sien, et seuls les PC qu'il appaire lui-même peuvent s'y connecter. Le serveur est léger (une vingtaine de Mo de mémoire) et ne voit que des données chiffrées. Choisissez l'emplacement qui vous convient :

VPS avec un sous-domaine

Prérequis : un VPS Linux avec sudo, un sous-domaine (par exemple sync.mondomaine.fr) avec un enregistrement DNS A vers l'IP du VPS, et les ports 80 et 443 ouverts.

git clone https://github.com/SLOWIXX/Claude_Sync.git && cd Claude_Sync/deploy/vps
./install.sh sync.mondomaine.fr

Le script installe Docker si besoin, vérifie le DNS, démarre le serveur derrière Caddy, qui obtient le certificat HTTPS tout seul, puis affiche un premier code d'invitation. Pour chaque PC suivant, créez un nouveau code :

docker compose exec claude-sync /claude-sync-server invite

VPS qui héberge déjà des sites (nginx)

Si nginx et certbot servent déjà d'autres sites, le serveur s'installe comme service systemd, sous un utilisateur dédié et isolé, à l'écoute de 127.0.0.1 uniquement. nginx le publie sur votre sous-domaine. Le dossier deploy/systemd du dépôt contient l'unité systemd, le site nginx et la procédure complète. Les codes d'invitation se créent ensuite avec :

claude-sync-invite

Un de vos PC avec Tailscale

  1. Installez Tailscale sur tous vos PC, connectés au même compte.
  2. Sur le PC qui servira de serveur, lancez l'installeur et choisissez Client et serveur. L'assistant appaire ce PC automatiquement.
  3. Publiez le serveur sur votre réseau Tailscale : tailscale serve --bg 8787. Tailscale affiche l'adresse à donner aux autres PC.
  4. Créez un code par PC avec claude-sync-server invite.

Installer sur un PC

À faire sur chaque PC, une fois le serveur en place.

  1. Créez un code d'invitation sur le serveur

    Il est valable 15 minutes et ne sert qu'une fois, par exemple K7QF-29XM. La commande dépend de votre hébergement (voir Héberger son serveur).

  2. Téléchargez et lancez l'installeur

    Téléchargez ClaudeSync-Setup-0.2.1.exe, lancez-le et choisissez Client uniquement. L'installation se fait dans votre profil, sans droits administrateur.

    « Windows a protégé votre ordinateur »

    L'installeur n'est pas encore signé. Cliquez sur « Informations complémentaires », puis « Exécuter quand même ».

  3. Répondez à l'assistant

    • Adresse du serveur : par exemple https://sync.mondomaine.fr.
    • Nom de ce PC : par défaut, le nom de la machine.
    • Code d'invitation : celui de l'étape 1.
    • Phrase secrète : à choisir sur le premier PC, puis la même sur tous les autres.
    La phrase secrète ne peut pas être récupérée

    Elle chiffre toutes vos données. Sans elle, aucun nouveau PC ne peut lire ce qui est sur le serveur. Gardez-la dans votre gestionnaire de mots de passe.

    L'assistant sauvegarde ensuite ~/.claude dans un zip, installe les hooks Claude Code, télécharge vos sessions et démarre l'agent, qui sera relancé à chaque ouverture de session Windows.

  4. Vérifiez

    claude-sync doctor
    Exemple de résultat
      ✓ Claude Code              2.1.303
      ✓ Serveur                  https://sync.mondomaine.fr (appareil Portable)
      ✓ Hooks                    installés
      ✓ Agent                    en cours
      ✓ Dernière synchro         il y a 8s
      ✓ Projets                  14 synchronisés
    
    Tout est en ordre.

    Ouvrez ensuite Claude Code dans un projet et tapez /resume : les sessions de vos autres PC y figurent.

Ce qui est synchronisé

ÉlémentEmplacementSynchro
Conversations, sous-agents, sorties d'outilsprojects\…Oui, par ajout
Mémoires des projetsprojects\…\memoryOui
Réglagessettings.jsonFusionnés
Instructions globalesCLAUDE.mdOui
Skills, agents, commandes, plans, stylesskills\, agents\, commands\, plans\, output-styles\Oui
Historique des promptshistory.jsonlFusionné
Points de restauration /rewindfile-history\En option
Connexion à votre compte Claude.credentials.jsonJamais
État propre au PC~/.claude.json, caches, sessions en coursJamais

La fusion de settings.json

Si vous changez le modèle sur un PC et le thème sur un autre, les deux changements sont conservés. Les hooks de Claude Sync restent propres à chaque PC, car ils pointent vers son dossier d'installation. Avant chaque réécriture, l'ancienne version est sauvegardée dans %LOCALAPPDATA%\claude-sync\backups\settings.

Skills installées par lien

Une skill qui est un lien ou une jonction Windows vers un autre dossier (par exemple ~/.agents/skills) n'est pas synchronisée, car son contenu appartient à l'outil qui l'a installée. Installez-la sur chaque PC avec cet outil.

Commandes

CommandeRôle
claude-sync statusServeur, dernière synchro, fichiers en attente, agent, hooks, conflits récents.
claude-sync syncSynchroniser immédiatement.
claude-sync doctorVérifier toute l'installation, avec la commande à lancer pour chaque problème.
claude-sync projectsProjets synchronisés et dossier local correspondant.
claude-sync map <dossier> <id>Lier un dossier local à un projet d'un autre PC.
claude-sync devicesLister les PC appairés. devices revoke <id> en révoque un.
claude-sync agent start|stop|statusPiloter l'agent. agent disable le retire du démarrage de Windows.
claude-sync hooks install|removeInstaller ou retirer les hooks Claude Code.
claude-sync backupArchiver ~/.claude en zip, sans vos identifiants.
claude-sync init --forceReconfigurer ce PC.

Projets sur plusieurs PC

Un projet est identifié par son chemin depuis votre dossier utilisateur, en minuscules : C:\Users\alice\Desktop\App et C:\Users\bob\desktop\app désignent le même projet, ~/desktop/app. Rangez vos projets au même endroit sur chaque PC, et tout se retrouve sans configuration.

Si un projet est rangé ailleurs sur un PC, déclarez la correspondance une fois :

claude-sync map D:\dev\app ~/desktop/app

claude-sync projects liste aussi les projets présents sur le serveur et pas encore sur ce PC, avec le dossier où ils arriveront.

Conflits et suppressions

Une session ouverte sur deux PC

Quand vous reprenez une session déjà ouverte sur un autre PC, Claude Code affiche un avertissement au démarrage. Si vous continuez quand même, votre version devient une nouvelle session à la synchronisation suivante : les deux conversations restent dans /resume, rien n'est perdu.

Un autre fichier modifié des deux côtés

Les deux versions sont conservées : la version reçue prend la place du fichier, la vôtre est copiée dans %LOCALAPPDATA%\claude-sync\conflicts. claude-sync status affiche les derniers conflits.

Suppressions

Supprimer une skill, une commande ou une mémoire la supprime partout. Les sessions effacées par le nettoyage automatique de Claude Code ne sont jamais supprimées du serveur.

Gardez vos anciennes sessions

Par défaut, Claude Code efface les sessions inactives depuis 30 jours. Ajoutez "cleanupPeriodDays": 365 à votre settings.json : le réglage sera synchronisé sur tous vos PC.

Configuration

Chaque PC a son fichier %LOCALAPPDATA%\claude-sync\config.json, pris en compte à la synchronisation suivante.

config.json
{
  "server": "https://sync.mondomaine.fr",
  "deviceName": "Portable",
  "syncInterval": "30s",
  "syncFileHistory": false,
  "localSettingsKeys": ["env"],
  "projectOverrides": { "~/desktop/app": "D:\\dev\\app" }
}
CléRôle
syncIntervalFréquence de l'agent : "30s", "2m".
syncFileHistorySynchroniser aussi les points de restauration /rewind. Volumineux, désactivé par défaut.
localSettingsKeysClés de settings.json à ne jamais synchroniser, par exemple env ou model.
projectOverridesCorrespondances créées par claude-sync map.

Les journaux sont dans %LOCALAPPDATA%\claude-sync\logs : agent.log, hooks.log, sync.log.

Sécurité

Vos conversations contiennent souvent du code, des extraits de fichiers .env ou des jetons. Claude Sync part du principe que le serveur peut être compromis.

Si quelqu'un…il ne peut pas…
vole le disque du serveurlire vos données : elles sont chiffrées sur vos PC (age, X25519) avec une clé que le serveur ne possède pas.
prend le contrôle du serveurmodifier, échanger, antidater ou effacer vos fichiers : chaque PC vérifie la signature de ce qu'il reçoit.
tente de faire écrire hors de ~/.claudey parvenir : chaque chemin reçu est validé, et rien n'est écrit à travers un lien.
copie le dossier claude-sync d'un PCs'en servir ailleurs : les clés sont protégées par Windows (DPAPI), pour votre seul compte.
veut ajouter son PC à votre serveurle faire sans un code créé sur ce serveur. Les tentatives sont limitées : quelques centaines au plus pendant la durée de vie d'un code.

Limites connues

  • Un PC révoqué connaît toujours la clé de chiffrement. En cas de vol, révoquez-le avec claude-sync devices revoke. Pour une protection totale, recréez le serveur avec une nouvelle phrase secrète.
  • Le serveur voit les noms de projets (~/desktop/app), les identifiants de session, les tailles, les dates et les noms de vos PC, mais jamais leur contenu.

Dépannage

Commencez toujours par claude-sync doctor : il indique la commande à lancer pour chaque problème.

Une session d'un autre PC n'apparaît pas dans /resume

Vérifiez que le projet a le même identifiant sur les deux PC avec claude-sync projects. S'il est rangé ailleurs, utilisez claude-sync map. Lancez ensuite claude-sync sync, puis rouvrez Claude Code.

« serveur injoignable »

Vérifiez que le serveur répond : ouvrez https://votre-serveur/v1/health dans un navigateur, qui doit afficher {"status":"ok"}. Sans serveur, chaque PC continue de fonctionner normalement et rattrape son retard au retour du serveur.

« appareil non autorisé (révoqué ?) »

Ce PC a été révoqué. Créez un nouveau code sur le serveur, puis lancez claude-sync init --force.

« phrase secrète incorrecte » sur un nouveau PC

Il faut la phrase choisie sur le premier PC, à l'identique, majuscules et espaces compris. Elle ne peut être ni récupérée ni réinitialisée : sans elle, il faut recréer le serveur.

« fichier reporté (session ouverte) »

Claude Sync n'écrit jamais dans une conversation ouverte dans Claude Code. La mise à jour est appliquée à la fermeture de la session.

curl affiche CRYPT_E_REVOCATION_OFFLINE

C'est la vérification de révocation de Windows qui échoue avec les certificats Let's Encrypt récents, pas le serveur : curl --ssl-no-revoke le confirme. Claude Sync et les navigateurs ne sont pas concernés.

Désinstallation

Allez dans Paramètres › Applications › Applications installées › Claude Sync › Désinstaller. Cela arrête l'agent, puis retire les hooks Claude Code, le démarrage automatique et l'entrée du PATH.

Vos données restent en place : ~/.claude, ainsi que %LOCALAPPDATA%\claude-sync avec la configuration et les sauvegardes. Supprimez ces dossiers vous-même pour tout effacer.

Développement

Claude Sync est écrit en Go, sans dépendance native ; SQLite est embarqué en Go pur. Le code source est sur GitHub.

go test ./...
./scripts/build.ps1 -Version 0.2.1 -Installer

Le protocole et l'algorithme de réconciliation sont décrits dans docs/architecture.md, le modèle de menace dans SECURITY.md. Pousser un tag v* publie une release avec l'installeur et les empreintes SHA-256.