Todos los artículos
ClaudeIA

Unable to create .git/index.lock File exists en Claude Code: revisión segura y arreglo 2.1.314

Git muestra Unable to create .git/index.lock: File exists. No borres el candado a ciegas. Reprodujimos el mensaje en un repo temporal, explicamos cómo comprobar si hay un git en marcha y el arreglo de Claude Code 2.1.314.

Unable to create .git/index.lock File exists: candado de arcilla azul pálido sobre una carpeta git de arcilla
También disponible en中文English

Git o Claude Code muestran de pronto fatal: Unable to create '.../.git/index.lock': File exists. No borres el candado a ciegas. Hay dos capas: el bloqueo normal de git y un fallo de Claude Code corregido en 2.1.314, cuando el refresh de diff en segundo plano retenía un momento el index lock.

Lo que vi: en un repo temporal /tmp/gitlockdemo creé un .git/index.lock vacío y ejecuté git status; el mensaje fatal coincide con el texto habitual de Git (abajo). Esta máquina sigue en Claude Code 2.1.312; el arreglo del diff en segundo plano exige ≥ 2.1.314.

Qué significa el error

Git usa .git/index.lock para que solo un proceso actualice el índice. Si el candado existe, el siguiente comando git se niega a crear otro y avisa de que puede haber otro git en marcha — o un proceso que se estrelló.

Un FAQ corto encaja en Errores de Claude Code; esta página cubre la capa de Claude Code y la secuencia segura.

Qué reprodujimos

Tras git init y un commit:

touch .git/index.lock
git status

Salida que vi (extracto):

fatal: Unable to create '/tmp/gitlockdemo/.git/index.lock': File exists.

Solo tras confirmar que no había un git escribiendo borramos el candado; entonces git status volvió a funcionar. El repo era desechable.

Dos capas

1. Candado normal de git

Otro git commit / merge / git del IDE está en marcha, o quedó un candado tras un crash. Orden: buscar procesos → esperar → si nadie escribe, borrar .git/index.lock. No hagas rm a ciegas.

2. Refresh de diff en Claude Code (arreglado en 2.1.314)

CHANGELOG 2.1.314: los refresh de diff en segundo plano tomaban brevemente el index lock y un git concurrente podía fallar con ese mensaje. Tras el arreglo no debería repetirse por ese camino.

Infiero: si el candado aparece sobre todo con Claude Code abierto y tu versión es < 2.1.314, actualiza primero.

claude --version
# 2.1.312 (Claude Code)

Pasos recomendados

1. Confirma la ruta del .git/index.lock del repo.

2. Busca un git / editor git en marcha.

3. Sin escritor → borra el candado → reintenta.

4. Si se repite bajo Claude Code → actualiza a ≥ 2.1.314.

5. Otros errores: hub de errores.

Preguntas frecuentes

¿Puedo hacer rm .git/index.lock directamente?

Solo si estás seguro de que ningún git escribe en ese repositorio. En la demo comprobamos procesos antes.

¿Es lo mismo que “working directory no longer exists”?

No. Una carpeta movida o borrada es otro fallo. Escrituras fuera del directorio de trabajo: ver la guía de /permissions cuando esté publicada.

Deja una idea

Tu dirección de correo no se publicará.