Voir ce qui a été chargé dans le contexte
La commande/context affiche tout ce qui occupe la fenêtre de contexte pour la session actuelle, ventilé par catégorie : invite système, outils système, outils MCP, sous-agents personnalisés avec la source de chacun, fichiers de mémoire, skills et messages de conversation. Exécutez-la d’abord pour confirmer si vos fichiers CLAUDE.md, règles ou descriptions de skills sont présents. La section skills dans /context inclut également les skills groupés, que /skills ne liste pas.
Pour plus de détails sur une catégorie spécifique, suivez avec la commande dédiée :
Si un fichier de mémoire est absent de la ventilation
/context, vérifiez son emplacement par rapport à comment les fichiers CLAUDE.md se chargent. Les fichiers CLAUDE.md des sous-répertoires se chargent à la demande plutôt qu’au démarrage de la session, ils n’apparaissent donc pas dans cette ventilation.
Si /context confirme que le fichier a été chargé mais que Claude ne suit toujours pas une instruction particulière, le problème est probablement la façon dont l’instruction est écrite plutôt que si elle a été chargée. CLAUDE.md fonctionne bien pour le type de conseils que vous donneriez à un nouveau coéquipier, comme les conventions de projet, les commandes de compilation et l’emplacement des fichiers.
L’adhérence diminue quand une instruction est assez vague pour être interprétée de plusieurs façons, quand deux fichiers donnent des directives conflictuelles, ou quand le fichier est devenu assez long pour que les règles individuelles reçoivent moins d’attention. Écrire des instructions efficaces couvre les modèles de spécificité, de taille et de structure qui maintiennent l’adhérence élevée.
CLAUDE.md et les permissions résolvent des problèmes différents. CLAUDE.md dit à Claude comment fonctionne votre projet afin qu’il prenne de bonnes décisions. Permissions et hooks appliquent des limites indépendamment de ce que Claude décide. Utilisez CLAUDE.md pour « nous le faisons de cette façon ici ». Utilisez les permissions ou les hooks pour les limites de sécurité et tout ce qui ne doit jamais se produire, où vous avez besoin d’une garantie plutôt que de conseils.
Vérifier les paramètres résolus
Les paramètres fusionnent entre les portées gérées, utilisateur, projet et locale. Les paramètres gérés s’appliquent d’abord quand ils sont présents. Parmi le reste, la portée plus proche remplace la plus large dans l’ordre local, puis projet, puis utilisateur. Certains paramètres peuvent également être définis par des drapeaux de ligne de commande ou des variables d’environnement, qui agissent comme une autre couche de remplacement. Quand un paramètre ne semble pas s’appliquer, la valeur que vous avez définie est généralement remplacée par une autre portée ou une variable d’environnement. Pour trouver les fichiers de paramètres invalides, exécutezclaude doctor depuis votre terminal. Il affiche les diagnostics d’installation et de paramètres en lecture seule sans démarrer une session. Pour une vérification complète qui propose également des corrections et demande avant de les appliquer, exécutez /doctor dans une session.
Exécutez /status pour voir quelles sources de paramètres sont actives, y compris si les paramètres gérés sont en vigueur. Pour comprendre quelle portée Claude Code utilise pour une clé donnée, consultez Précédence des paramètres.
Vérifier les serveurs MCP
Exécutez/mcp pour voir chaque serveur configuré, son statut de connexion et si vous l’avez approuvé pour le projet actuel. Un serveur peut être défini correctement mais ne pas fournir d’outils pour quelques raisons courantes :
- Les serveurs à portée de projet dans
.mcp.jsonnécessitent une approbation unique. Si l’invite a été rejetée, le serveur reste désactivé jusqu’à ce que vous l’approuviez depuis/mcp. - Un serveur qui échoue au démarrage s’affiche comme échoué dans
/mcp. Les chemins de fichiers relatifs danscommandouargssont une cause fréquente, car ils se résolvent par rapport au répertoire à partir duquel vous avez lancé Claude Code plutôt qu’à l’emplacement de.mcp.json. - Un serveur qui s’affiche comme connecté mais qui liste zéro outils a démarré avec succès mais ne retourne pas de liste d’outils. Sélectionnez Reconnect depuis
/mcp. Si le nombre reste à zéro, exécutezclaude --debug=mcpet lisez la sortie stderr du serveur dans le journal de débogage à~/.claude/debug/<session-id>.txt.
Vérifier les hooks
Exécutez/hooks pour lister chaque hook enregistré pour la session actuelle, groupé par événement. Si un hook que vous avez défini n’apparaît pas, Claude Code ne l’a pas chargé. Vérifiez les causes suivantes :
- Le hook est défini dans un fichier autonome. Les hooks vont sous la clé
"hooks"dans un fichier de paramètres. - La valeur
matcherest un tableau au lieu d’une chaîne unique. Claude Code liste l’entrée comme un paramètre invalide lorsque vous démarrez une session interactive et dansclaude doctor. Si le tableau se trouve sousPreToolUseouPermissionRequest, aucun des autres hooks de ce fichier ne se charge non plus.
- Le champ
matcherest une chaîne unique qui utilise|pour correspondre à plusieurs noms d’outils, par exemple"Edit|Write". Un séparateur,est équivalent, donc"Edit,Write"correspond aux mêmes outils. Avant v2.1.191, une virgule passait à l’évaluation regex et le matcher ne correspondait jamais, donc utilisez|si vous n’êtes pas sur v2.1.191 encore. - Un nom d’outil mal orthographié produit un matcher qui ne correspond à rien, donc le hook échoue silencieusement.
settings.json, la modification prend effet dans la session en cours après un bref délai de stabilité du fichier, même si vous créez le fichier ou le dossier .claude/ du projet lui-même après le démarrage de la session. Vous n’avez pas besoin de redémarrer. Avant v2.1.257, Claude Code ne détectait pas les modifications dans un dossier .claude/ créé après le démarrage de la session.
Si /hooks affiche toujours l’ancienne définition quelques secondes après l’enregistrement, exécutez /hooks à nouveau pour actualiser la vue.
Si /hooks affiche le hook mais qu’il ne se déclenche toujours pas, l’étape suivante consiste à regarder l’évaluation du hook en direct. Démarrez une session avec claude --debug et déclenchez l’appel d’outil. Le journal de débogage enregistre chaque événement, quels matchers ont été vérifiés, et le code de sortie et la sortie du hook. Consultez Debug hooks pour le format du journal et hooks troubleshooting pour les modèles d’échec courants.
Tester avec une configuration propre
Commencez parclaude --safe-mode, qui lance une session avec vos personnalisations désactivées, y compris :
CLAUDE.md- Les skills, les plugins et les hooks
- Les serveurs MCP
- Les commandes et agents personnalisés
- Les styles de sortie personnalisés
- Les raccourcis clavier personnalisés
CLAUDE.md et les serveurs MCP sont désactivés.
Si le problème persiste en mode sécurisé, ou si vos paramètres eux-mêmes sont suspects, démarrez une session sans aucune de vos propres configurations et vérifiez si le problème se reproduit.
1
Créer un répertoire vide et s'y déplacer
Dans votre shell, sans session Claude Code en cours d’exécution, créez le répertoire et déplacez-vous dedans :
- Bash or Zsh
- PowerShell
2
Démarrer Claude Code avec un répertoire de configuration propre
Depuis le même shell, définissez Au premier lancement, vous repassez par les écrans de configuration initiale, signe que le répertoire de configuration propre est en vigueur. Les paramètres gérés s’appliquent toujours, et les connecteurs se chargent toujours si vous vous connectez avec un compte claude.ai.
CLAUDE_CONFIG_DIR sur un nouveau répertoire à la place de ~/.claude, et passez --setting-sources user pour désactiver la configuration du projet, comme .claude/settings.json, CLAUDE.md et .mcp.json :- Bash or Zsh
- PowerShell
La variable s’applique uniquement à ce lancement.
3
Reproduire le problème
Répétez ce qui a déclenché le problème dans la session propre :
- Le problème a disparu : la cause se trouve dans votre configuration utilisateur ou projet. Copiez
~/.claude.jsonet les fichiers de~/.claudedans~/claude-clean/configun par un. Si aucun ne fait réapparaître le problème, accédez au répertoire de votre projet dans le même shell et démarrez Claude Code sans--setting-sources user. Dans Bash ou Zsh, exécutezCLAUDE_CONFIG_DIR=~/claude-clean/config claude. Dans PowerShell, la variable est toujours définie, exécutez doncclaude. - Le problème persiste : la cause se trouve en dehors de votre configuration utilisateur et projet. Exécutez
/statusdans la session pour vérifier la présence de paramètres gérés, vérifiez les variables d’environnement de votre shell, puis consultez Dépannage.
Vérifier les causes courantes
La plupart des surprises de configuration remontent à un petit ensemble de règles d’emplacement et de syntaxe. Vérifiez-les avant de supposer un bogue :Ressources connexes
Pour la référence complète sur chaque surface de configuration, consultez la page dédiée :- Référence du répertoire
.claude: chaque emplacement de fichier de configuration et ce qui le lit - Paramètres : quel fichier utiliser et quelle valeur Claude Code utilise ; la référence des paramètres contient la liste complète des clés
- Référence des hooks : noms d’événements, charges utiles et format de sortie
--debug - MCP : configuration du serveur, approbation et sortie
/mcp - Dépannage de l’installation et de la connexion :
command not found, PATH et problèmes d’authentification - Dépannage : performance, blocages et problèmes de recherche