Introduction
Claude Code, un outil de développement basé sur l'IA, est confronté à un problème technique où il exécute la commande git reset --hard origin/main toutes les 10 minutes sur le référentiel de projet de l'utilisateur. Cela entraîne la perte de toutes les modifications non commises sur les fichiers suivis, tandis que les fichiers non suivis restent inchangés.
Contexte Technique
Le problème a été identifié sur la version 2.1.87 de Claude Code, installée via Homebrew sur macOS 15.4. L'analyse a révélé que Claude Code effectue des opérations Git programmatiques sans lancer de binaire Git externe. Les preuves incluent des entrées dans le journal Git (git reflog) à intervalles réguliers de 10 minutes, ainsi que des captures de fichiers système (fswatch) montrant les opérations de fichier Git classiques pour git fetch origin + git reset --hard origin/main.
Analyse et Implications
Ce comportement peut avoir des implications importantes pour les utilisateurs de Claude Code, notamment la perte de travail non enregistré. L'analyse a éliminé les causes externes potentielles, telles que les hooks Git, les plugins de marché, la synchronisation cloud macOS, les tâches planifiées (cron/LaunchAgents), les serveurs de développement Vite/SvelteKit et les éditeurs/IDE. La cause profonde du problème semble être liée aux opérations Git internes de Claude Code.
Perspective
Il est essentiel de surveiller les mises à jour de Claude Code et les correctifs potentiels pour ce problème. Les utilisateurs doivent être conscients de ce comportement et prendre des mesures pour sauvegarder régulièrement leur travail. De plus, une analyse plus approfondie du code source de Claude Code et de ses interactions avec Git pourrait aider à comprendre la raison sous-jacente de ce comportement et à trouver une solution durable.