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, fichiers de mémoire, skills, sous-agents personnalisés avec la source de chacun, outils MCP 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.
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
/memory, 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 quand Claude lit un fichier dans ce répertoire avec l’outil Read, pas au démarrage de la session.
Si /memory 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 gagnent toujours 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. Exécutez/doctor pour vérifier votre configuration et installation. Il signale ce qu’il trouve, y compris les fichiers de paramètres invalides, les installations en double, les extensions inutilisées et le contenu CLAUDE.md archivé que Claude peut dériver de la base de code, puis propose des corrections qu’il applique uniquement après votre confirmation. La vérification de suppression CLAUDE.md nécessite Claude Code v2.1.206 ou ultérieure. Avant la v2.1.205, /doctor ouvrait un écran de diagnostics en lecture seule et appuyer sur f envoyait le rapport à Claude pour le corriger.
Depuis le terminal, claude doctor affiche les diagnostics d’installation et de paramètres en lecture seule sans démarrer 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 gagne pour une clé donnée, consultez Comment les portées interagissent.
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 mcppour voir la sortie stderr du serveur.
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, il n’est pas en cours de lecture : les hooks vont sous la clé "hooks" dans un fichier de paramètres, pas dans un fichier autonome.
Si le hook apparaît mais ne se déclenche pas, le matcher est la cause habituelle. Vérifiez-le pour ces erreurs :
- 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.
- Une valeur de tableau est une erreur de schéma : Claude Code affiche un avis d’erreur de paramètres et rejette l’intégralité du fichier de paramètres utilisateur, projet ou local,
claude doctorsignale l’échec de validation, et aucun hook de ce fichier n’apparaît dans/hooks. Dans les paramètres gérés, seule l’entrée invalide est supprimée et les autres hooks du fichier s’appliquent toujours.
settings.json prennent effet dans la session en cours après un bref délai de stabilité du fichier. Vous n’avez pas besoin de redémarrer. 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 hooks 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 toutes les personnalisations désactivées, y compris CLAUDE.md, les skills, les plugins, les hooks, les serveurs MCP, et les commandes et agents personnalisés. L’authentification, la sélection du modèle, les outils intégrés et les permissions fonctionnent normalement. Si le problème disparaît en mode sécurisé, l’une de ces surfaces en est la cause ; utilisez les vérifications ciblées ci-dessus pour trouver laquelle. Le mode sécurisé applique toujours les hooks gérés et la politique de paramètres de votre organisation. Les plugins gérés, les skills, 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, comparez avec une session qui ne charge rien de votre configuration habituelle. Pointez CLAUDE_CONFIG_DIR vers un répertoire vide pour contourner tout ce qui se trouve sous ~/.claude, et lancez depuis un répertoire qui n’a pas de dossier .claude, .mcp.json ou CLAUDE.md afin que la configuration du projet soit également ignorée.
- Les paramètres gérés s’appliquent toujours si votre organisation les déploie, car ils se trouvent à un chemin système en dehors de
~/.claude - Sur Linux et Windows, vous serez invité à vous connecter à nouveau car les identifiants sont stockés sous le répertoire de configuration
- Sur macOS, les identifiants se trouvent dans le Keychain et sont reportés à la session propre
~/.claude ou .claude du projet. Réintroduisez-les un à la fois, en copiant les fichiers dans le répertoire temporaire ou en lançant depuis votre projet, pour trouver lequel. S’il persiste dans la session propre, la cause se trouve en dehors de votre configuration utilisateur et projet. Exécutez /status pour vérifier si les paramètres gérés sont en vigueur, recherchez les variables d’environnement qui affectent Claude Code, puis consultez Troubleshooting.
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 : ordre de précédence et liste complète des clés
- Référence des hooks : noms d’événements, charges utiles et format de sortie
--debug hooks - 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