Problemas comunes de instalación

Problemas de permisos en Linux

Al instalar Claude Code con npm, puedes encontrar errores de permisos si tu prefijo global de npm no tiene permisos de escritura para el usuario (por ejemplo, /usr, o /usr/local).

Solución recomendada: Crear un prefijo npm con permisos de escritura para el usuario

El enfoque más seguro es configurar npm para usar un directorio dentro de tu carpeta personal:

# Primero, guarda una lista de tus paquetes globales existentes para migrarlos después
npm list -g --depth=0 > ~/npm-global-packages.txt

# Crea un directorio para tus paquetes globales
mkdir -p ~/.npm-global

# Configura npm para usar la nueva ruta del directorio
npm config set prefix ~/.npm-global

# Nota: Reemplaza ~/.bashrc con ~/.zshrc, ~/.profile, u otro archivo apropiado para tu shell
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc

# Aplica la nueva configuración del PATH
source ~/.bashrc

# Ahora reinstala Claude Code en la nueva ubicación
npm install -g @anthropic-ai/claude-code

# Opcional: Reinstala tus paquetes globales anteriores en la nueva ubicación
# Revisa ~/npm-global-packages.txt e instala los paquetes que quieras mantener

Esta solución es recomendada porque:

  • Evita modificar los permisos de directorios del sistema
  • Crea una ubicación limpia y dedicada para tus paquetes globales de npm
  • Sigue las mejores prácticas de seguridad

Recuperación del Sistema: Si has ejecutado comandos que cambian la propiedad y permisos de archivos del sistema o similares

Si ya has ejecutado un comando que cambió los permisos de directorios del sistema (como sudo chown -R $USER:$(id -gn) /usr && sudo chmod -R u+w /usr) y tu sistema está ahora dañado (por ejemplo, si ves sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set), necesitarás realizar pasos de recuperación.

Método de Recuperación para Ubuntu/Debian:
  1. Durante el reinicio, mantén presionada la tecla SHIFT para acceder al menú GRUB

  2. Selecciona “Opciones avanzadas para Ubuntu/Debian”

  3. Elige la opción de modo de recuperación

  4. Selecciona “Ir al prompt de shell root”

  5. Vuelve a montar el sistema de archivos con permisos de escritura:

    mount -o remount,rw /
    
  6. Arregla los permisos:

    # Restaura la propiedad de root
    chown -R root:root /usr
    chmod -R 755 /usr
    
    # Asegura que /usr/local sea propiedad de tu usuario para paquetes npm
    chown -R TU_USUARIO:TU_USUARIO /usr/local
    
    # Establece el bit setuid para binarios críticos
    chmod u+s /usr/bin/sudo
    chmod 4755 /usr/bin/sudo
    chmod u+s /usr/bin/su
    chmod u+s /usr/bin/passwd
    chmod u+s /usr/bin/newgrp
    chmod u+s /usr/bin/gpasswd
    chmod u+s /usr/bin/chsh
    chmod u+s /usr/bin/chfn
    
    # Arregla la configuración de sudo
    chown root:root /usr/libexec/sudo/sudoers.so
    chmod 4755 /usr/libexec/sudo/sudoers.so
    chown root:root /etc/sudo.conf
    chmod 644 /etc/sudo.conf
    
  7. Reinstala los paquetes afectados (opcional pero recomendado):

    # Guarda la lista de paquetes instalados
    dpkg --get-selections > /tmp/installed_packages.txt
    
    # Reinstálalos
    awk '{print $1}' /tmp/installed_packages.txt | xargs -r apt-get install --reinstall -y
    
  8. Reinicia:

    reboot
    
Método Alternativo de Recuperación con USB Live:

Si el modo de recuperación no funciona, puedes usar un USB live:

  1. Arranca desde un USB live (Ubuntu, Debian o cualquier distribución Linux)

  2. Encuentra tu partición del sistema:

    lsblk
    
  3. Monta tu partición del sistema:

    sudo mount /dev/sdXY /mnt  # reemplaza sdXY con tu partición del sistema actual
    
  4. Si tienes una partición boot separada, móntala también:

    sudo mount /dev/sdXZ /mnt/boot  # si es necesario
    
  5. Haz chroot en tu sistema:

    # Para Ubuntu/Debian:
    sudo chroot /mnt
    
    # Para sistemas basados en Arch:
    sudo arch-chroot /mnt
    
  6. Sigue los pasos 6-8 del método de recuperación de Ubuntu/Debian anterior

Después de restaurar tu sistema, sigue la solución recomendada arriba para configurar un prefijo npm con permisos de escritura para el usuario.

Problemas con el auto-actualizador

Si Claude Code no puede actualizarse automáticamente, puede deberse a problemas de permisos con tu directorio de prefijo global de npm. Sigue la solución recomendada anterior para arreglar esto.

Si prefieres desactivar el auto-actualizador en su lugar, puedes usar:

claude config set -g autoUpdaterStatus disabled

Permisos y autenticación

Solicitudes repetidas de permisos

Si te encuentras aprobando repetidamente los mismos comandos, puedes permitir que herramientas específicas se ejecuten sin aprobación:

# Permite que npm test se ejecute sin aprobación
claude config add allowedTools "Bash(npm test)"

# Permite que npm test y cualquiera de sus subcomandos se ejecuten sin aprobación
claude config add allowedTools "Bash(npm test:*)"

Problemas de autenticación

Si estás experimentando problemas de autenticación:

  1. Ejecuta /logout para cerrar sesión completamente
  2. Cierra Claude Code
  3. Reinicia con claude y completa el proceso de autenticación nuevamente

Si los problemas persisten, intenta:

rm -rf ~/.config/claude-code/auth.json
claude

Esto elimina tu información de autenticación almacenada y fuerza un inicio de sesión limpio.

Rendimiento y estabilidad

Alto uso de CPU o memoria

Claude Code está diseñado para trabajar con la mayoría de los entornos de desarrollo, pero puede consumir recursos significativos al procesar bases de código grandes. Si estás experimentando problemas de rendimiento:

  1. Usa /compact regularmente para reducir el tamaño del contexto
  2. Cierra y reinicia Claude Code entre tareas importantes
  3. Considera agregar directorios de compilación grandes a tus archivos .gitignore y .claudeignore

Comandos que se quedan colgados o se congelan

Si Claude Code parece no responder:

  1. Presiona Ctrl+C para intentar cancelar la operación actual
  2. Si no responde, puede que necesites cerrar la terminal y reiniciar
  3. Para problemas persistentes, ejecuta Claude con registro detallado: claude --verbose

Obtener más ayuda

Si estás experimentando problemas no cubiertos aquí:

  1. Usa el comando /bug dentro de Claude Code para reportar problemas directamente a Anthropic
  2. Revisa el repositorio de GitHub para problemas conocidos
  3. Ejecuta /doctor para verificar la salud de tu instalación de Claude Code