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:
| Comando | Muestra |
|---|---|
/memory | Qué archivos CLAUDE.md y rules se cargaron, más entradas de memoria automática |
/skills | Skills disponibles de fuentes de proyecto, usuario y plugin |
/agents | Subagentes configurados y sus configuraciones |
/hooks | Configuraciones de hook activas |
/mcp | Servidores MCP conectados y su estado |
/permissions | Reglas de permitir y denegar resueltas actualmente en vigor |
/doctor | Diagnósticos de configuración: claves inválidas, errores de esquema, salud de instalación |
/status | Fuentes de configuración activas, incluido si la configuración administrada está en vigor |
/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.jsonrequieren 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 encommandoargsson 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, ejecuteclaude --debug mcppara ver la salida stderr del servidor.
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íntoma | Causa | Solución |
|---|---|---|
| Hook nunca se dispara | matcher es una matriz JSON en lugar de una cadena | Use una cadena única con | para coincidir con múltiples herramientas, por ejemplo "Edit|Write". Consulte patrones de matcher. |
| Hook nunca se dispara | El 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 dispara | Los hooks están en un archivo .claude/hooks.json independiente | No 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 ignoran | La 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 ignorado | La misma clave se establece en settings.local.json | settings.local.json anula settings.json, y ambos anulan ~/.claude/settings.json. Consulte precedencia de configuración. |
Skill no aparece en /skills | El archivo de skill está en .claude/skills/name.md en lugar de en una carpeta | Use una carpeta con SKILL.md dentro: .claude/skills/name/SKILL.md. |
Skill aparece en /skills pero Claude nunca lo invoca | Skill tiene disable-model-invocation: true en su frontmatter, o su descripción no coincide con cómo formula la solicitud | Verifique 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 ignoradas | Los archivos del subdirectorio se cargan bajo demanda, no al inicio de la sesión | Se 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.md | Los subagentes no siempre heredan la memoria del proyecto | Coloque 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ón | No hay hook SessionEnd configurado | SessionStart y SessionEnd existen ambos. Consulte la lista de eventos de hook. |
Los servidores MCP en .mcp.json nunca se cargan | El archivo está bajo .claude/ o usa el formato de configuración de Claude Desktop | La 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 aparece | Se descartó el mensaje de aprobación única | Los servidores con ámbito de proyecto requieren aprobación. Ejecute /mcp para ver el estado y aprobar. |
| El servidor MCP no se inicia desde algunos directorios | command o args usa una ruta de archivo relativa | Use 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 esperadas | Las variables están en settings.json env, que no se propaga a procesos secundarios de MCP | Establezca env por servidor dentro de .mcp.json en su lugar. |
La regla de denegación Bash(rm *) no bloquea /bin/rm o find -delete | Las reglas de prefijo coinciden con la cadena de comando literal, no con el ejecutable subyacente | Agregue 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:- Referencia del directorio
.claude: cada ubicación de archivo de configuración y qué lo lee - Configuración: orden de precedencia y la lista completa de claves
- Referencia de hooks: nombres de eventos, cargas útiles y formato de salida
--debug hooks - MCP: configuración del servidor, aprobación y salida
/mcp - Troubleshooting:
claude doctor, problemas de plataforma y problemas de instalación