Volver al inicio

Error de Claude Code: Git reset cada 10 minutos

Claude Code 2.1.87 en macOS realiza git reset oculto cada 10 minutos, destruyendo cambios no confirmados. La investigación excluye causas externas, sugiere verificación de reflog y protección mediante worktrees con DISABLE_CRON.

Error grave de Claude Code: pierde código cada 10 min
Advertisement 728x90

Claude Code Reinicia Secretamente los Cambios de Git Cada 10 Minutos

La versión 2.1.87 de Claude Code en macOS ejecuta automáticamente git fetch origin y git reset --hard origin/main cada 600 segundos. Esto provoca la pérdida de todos los cambios no confirmados en los archivos rastreados del repositorio. Un desarrollador registró más de 95 operaciones de este tipo durante 36 horas en cuatro sesiones utilizando git reflog.

La reproducción confirmó el problema: los cambios en archivos rastreados se revierten exactamente 10 minutos después, mientras que los archivos no rastreados permanecen intactos. El monitoreo del sistema de archivos reveló la creación de archivos de bloqueo en .git/refs/remotes/origin/HEAD y .git/refs/heads/main sin lanzar ningún proceso git externo. Las operaciones están integradas directamente en el proceso de Claude Code, probablemente mediante libgit2.

Investigando la Causa

Se descartaron factores externos: git hooks, cron jobs, servicios de sincronización en la nube, IDEs, Time Machine, observadores de archivos, plugins. El único proceso con acceso es Claude Code ejecutándose con la bandera --dangerously-skip-permissions. Los desfases de tiempo en reflog son consistentes dentro de una sesión, pero varían entre ejecuciones, lo que apunta a un temporizador interno.

Google AdInline article slot

El CHANGELOG menciona CLAUDE_CODE_DISABLE_CRON para desactivar tareas periódicas. El fallo pasa desapercibido con commits frecuentes —Claude Code los fomenta, haciendo el reinicio inofensivo—. El problema surge durante trabajos prolongados con cambios en progreso: al menos 3 modificaciones perdidas en 2 horas.

Quejas similares en GitHub carecen de análisis profundo. Anthropic no ha comentado aún.

Cómo Verificar y Protegerte

Verifica el reflog:

Google AdInline article slot
git reflog | grep "reset: moving to origin"

Busca entradas separadas por 10 minutos.

Medidas de protección:

  • Haz commit de los cambios cada 5–7 minutos.
  • Usa git worktrees: están completamente aislados del reinicio.
  • Ejecuta con CLAUDE_CODE_DISABLE_CRON=1 para desactivar el cron interno.

Los worktrees se crean así:

Google AdInline article slot
git worktree add ../project-worktree main

Cambiar entre ellos previene la pérdida de datos.

Puntos Clave

  • Reinicio automático cada 10 minutos: elimina cambios no confirmados en archivos rastreados.
  • Temporizador interno: ligado al inicio de la sesión, controlado por CLAUDE_CODE_DISABLE_CRON.
  • Reproducible en macOS 2.1.87: libgit2 sin procesos externos.
  • Worktrees como solución: inmunidad total al fallo.
  • Verifica el reflog: la clave para el diagnóstico en tu proyecto.

— Editorial Team

Advertisement 728x90

Leer después