Saltar al contenido principal
Cuando Claude ignora una instrucción o una característica que configuró no aparece, la causa suele ser que el archivo no se cargó, se cargó desde una ubicación diferente a la que esperaba, u otro archivo la anuló. Esta guía muestra cómo inspeccionar qué cargó realmente Claude Code para que pueda reducir cuál se aplica. Para problemas de instalación, autenticación y conectividad, consulte Troubleshooting en su lugar.

Ver qué se cargó en el contexto

El comando /context muestra todo lo que ocupa la ventana de contexto para la sesión actual, desglosado por categoría: indicación del sistema, archivos de memoria, skills, herramientas MCP y mensajes de conversación. Ejecútelo primero para confirmar si su CLAUDE.md, reglas o descripciones de skills están presentes en absoluto. Para obtener detalles sobre una categoría específica, continúe con el comando dedicado:
ComandoMuestra
/memoryQué archivos CLAUDE.md y rules se cargaron, más entradas de memoria automática
/skillsSkills disponibles de fuentes de proyecto, usuario y plugin
/agentsSubagentes configurados y sus configuraciones
/hooksConfiguraciones de hook activas
/mcpServidores MCP conectados y su estado
/permissionsReglas de permitir y denegar resueltas actualmente en vigor
/doctorDiagnósticos de configuración: claves inválidas, errores de esquema, salud de instalación
/statusFuentes de configuración activas, incluido si la configuración administrada está en vigor
Si falta un archivo de memoria en /memory, verifique su ubicación contra cómo se cargan los archivos CLAUDE.md. Los archivos CLAUDE.md del subdirectorio se cargan bajo demanda cuando Claude lee un archivo en ese directorio con la herramienta Read, no al inicio de la sesión. Si /memory confirma que el archivo se cargó pero Claude aún no sigue una instrucción particular, el problema probablemente sea cómo se escribe la instrucción en lugar de si se cargó. CLAUDE.md funciona bien para el tipo de orientación que daría a un nuevo compañero de equipo, como convenciones de proyecto, comandos de compilación y dónde pertenecen los archivos. La adherencia disminuye cuando una instrucción es lo suficientemente vaga como para interpretarse de múltiples formas, cuando dos archivos dan direcciones conflictivas, o cuando el archivo ha crecido lo suficiente como para que las reglas individuales reciban menos atención. Escribir instrucciones efectivas cubre los patrones de especificidad, tamaño y estructura que mantienen la adherencia alta.
CLAUDE.md y los permisos resuelven problemas diferentes. CLAUDE.md le dice a Claude cómo funciona su proyecto para que tome buenas decisiones. Permisos y hooks aplican límites independientemente de lo que Claude decida. Use CLAUDE.md para “lo hacemos de esta manera aquí”. Use permisos o hooks para límites de seguridad y cualquier cosa que nunca deba suceder, donde necesita una garantía en lugar de orientación.

Verificar configuración resuelta

La configuración se fusiona en ámbitos administrados, de usuario, de proyecto y locales. La configuración administrada siempre gana cuando está presente. Entre el resto, el ámbito más cercano anula el más amplio en el orden local, luego proyecto, luego usuario. Algunos ajustes también se pueden establecer mediante banderas de línea de comandos o variables de entorno, que actúan como otra capa de anulación. Cuando una configuración no parece aplicarse, el valor que estableció generalmente se anula por otro ámbito o una variable de entorno. Ejecute /doctor para validar sus archivos de configuración y mostrar claves inválidas o errores de esquema. Ejecute /status para ver qué fuentes de configuración están activas, incluido si la configuración administrada está en vigor. Para entender qué ámbito gana para una clave determinada, consulte Cómo interactúan los ámbitos.

Verificar servidores MCP

Ejecute /mcp para ver cada servidor configurado, su estado de conexión y si lo ha aprobado para el proyecto actual. Un servidor puede estar definido correctamente pero aún no proporcionar herramientas por algunas razones comunes:
  • Los servidores con ámbito de proyecto en .mcp.json requieren una aprobación única. Si se descartó el mensaje, el servidor permanece deshabilitado hasta que lo apruebe desde /mcp.
  • Un servidor que no se inicia se muestra como fallido en /mcp. Las rutas de archivo relativas en command o args son una causa frecuente, ya que se resuelven contra el directorio desde el que lanzó Claude Code en lugar de la ubicación de .mcp.json.
  • Un servidor que se muestra como conectado pero enumera cero herramientas se ha iniciado correctamente pero no devuelve una lista de herramientas. Seleccione Reconnect desde /mcp. Si el recuento permanece en cero, ejecute claude --debug mcp para ver la salida stderr del servidor.
Para ubicaciones de configuración y reglas de ámbito, consulte MCP.

Verificar hooks

Ejecute /hooks para enumerar cada hook registrado para la sesión actual, agrupado por evento. Si un hook que definió no aparece, no se está leyendo: los hooks van bajo la clave "hooks" en un archivo de configuración, no en un archivo independiente. Si el hook aparece pero no se dispara, el matcher es la causa habitual. El campo matcher es una cadena única que usa | para coincidir con múltiples nombres de herramientas, por ejemplo "Edit|Write". Un nombre de herramienta mal escrito falla silenciosamente porque el matcher nunca coincide. Un valor de matriz es un error de esquema: Claude Code muestra un aviso de error de configuración, /doctor informa del error de validación y la entrada del hook se descarta para que no aparezca en /hooks. Las ediciones en settings.json surten efecto en la sesión en ejecución después de un breve retraso de estabilidad de archivo. No necesita reiniciar. Si /hooks aún muestra la definición anterior unos segundos después de guardar, ejecute /hooks nuevamente para actualizar la vista. Si /hooks muestra el hook pero aún no se dispara, el siguiente paso es ver la evaluación del hook en vivo. Inicie una sesión con claude --debug hooks y active la llamada de herramienta. El registro de depuración registra cada evento, qué matchers se verificaron y el código de salida y la salida del hook. Consulte Depurar hooks para el formato del registro y solución de problemas de hooks para patrones de fallo comunes.

Causas comunes

La mayoría de las sorpresas de configuración se remontan a un pequeño conjunto de reglas de ubicación y sintaxis. Verifique estos antes de asumir un error:
SíntomaCausaSolución
Hook nunca se disparamatcher es una matriz JSON en lugar de una cadenaUse una cadena única con | para coincidir con múltiples herramientas, por ejemplo "Edit|Write". Consulte patrones de matcher.
Hook nunca se disparaEl valor matcher está en minúsculas, por ejemplo "bash"La coincidencia distingue mayúsculas de minúsculas. Los nombres de herramientas están capitalizados: Bash, Edit, Write, Read.
Hook nunca se disparaLos hooks están en un archivo .claude/hooks.json independienteNo hay archivo de hooks independiente. Defina hooks bajo la clave "hooks" en settings.json. Consulte configuración de hook.
Los permisos, hooks o env establecidos globalmente se ignoranLa configuración se agregó a ~/.claude.json~/.claude.json contiene el estado de la aplicación y los cambios de interfaz de usuario. permissions, hooks y env pertenecen a ~/.claude/settings.json. Estos son dos archivos diferentes.
Un valor settings.json parece ignoradoLa misma clave se establece en settings.local.jsonsettings.local.json anula settings.json, y ambos anulan ~/.claude/settings.json. Consulte precedencia de configuración.
Skill no aparece en /skillsEl archivo de skill está en .claude/skills/name.md en lugar de en una carpetaUse una carpeta con SKILL.md dentro: .claude/skills/name/SKILL.md.
Skill aparece en /skills pero Claude nunca lo invocaSkill tiene disable-model-invocation: true en su frontmatter, o su descripción no coincide con cómo formula la solicitudVerifique la insignia en /skills: una etiqueta “user-only” significa que Claude no lo activará por su cuenta. Consulte invocación de skill.
Las instrucciones de CLAUDE.md del subdirectorio parecen ignoradasLos archivos del subdirectorio se cargan bajo demanda, no al inicio de la sesiónSe cargan cuando Claude lee un archivo en ese directorio con la herramienta Read, no al lanzar y no al escribir o crear archivos allí. Consulte cómo se cargan los archivos CLAUDE.md.
El subagente ignora las instrucciones de CLAUDE.mdLos subagentes no siempre heredan la memoria del proyectoColoque las reglas críticas en el cuerpo del archivo del agente, que se convierte en el indicador del sistema del subagente. Consulte configuración de subagente.
La lógica de limpieza nunca se ejecuta al final de la sesiónNo hay hook SessionEnd configuradoSessionStart y SessionEnd existen ambos. Consulte la lista de eventos de hook.
Los servidores MCP en .mcp.json nunca se carganEl archivo está bajo .claude/ o usa el formato de configuración de Claude DesktopLa configuración de MCP del proyecto va en la raíz del repositorio como .mcp.json, no dentro de .claude/. Consulte configuración de MCP.
El servidor MCP del proyecto agregado pero no apareceSe descartó el mensaje de aprobación únicaLos servidores con ámbito de proyecto requieren aprobación. Ejecute /mcp para ver el estado y aprobar.
El servidor MCP no se inicia desde algunos directorioscommand o args usa una ruta de archivo relativaUse rutas absolutas para scripts locales. Los ejecutables en su PATH como npx o uvx funcionan tal cual.
El servidor MCP se inicia sin las variables de entorno esperadasLas variables están en settings.json env, que no se propaga a procesos secundarios de MCPEstablezca env por servidor dentro de .mcp.json en su lugar.
La regla de denegación Bash(rm *) no bloquea /bin/rm o find -deleteLas reglas de prefijo coinciden con la cadena de comando literal, no con el ejecutable subyacenteAgregue patrones explícitos para cada variante, o use un hook PreToolUse o el sandbox para una garantía dura.

Recursos relacionados

Para una referencia completa en cada superficie de configuración, consulte la página dedicada: