Blog

Claude Code ne voit pas les fichiers : dossier et accès

Markdown

Pourquoi Claude Code ne trouve pas les fichiers du projet : il a été lancé depuis le mauvais dossier, le fichier se trouve dans un sous-dossier ou figure dans .gitignore. Comment accorder l’accès avec add-dir, cd et les paramètres.

Lire l’article complet

Une situation familière : vous demandez à Claude Code de modifier un fichier, et il répond que ce fichier n’existe pas. Ou bien il modifie silencieusement quelque chose de complètement différent de ce que vous vouliez. Vous ouvrez le dossier : le fichier est là, exactement où il devrait être. Mais Claude semble ne pas le remarquer.

Presque toujours, il y a une seule raison, et rien n’est cassé. Claude ne voit pas les fichiers de tout l’ordinateur. Il ne peut accéder qu’au dossier depuis lequel vous l’avez lancé. Un dossier frère ou un lancement sous la racine peut laisser des fichiers nécessaires hors de l’arbre de travail. Depuis un parent comme le dossier personnel, la portée est plus large ; le projet descendant ne devient pas inaccessible. Je vais expliquer étape par étape pourquoi cela fonctionne ainsi et comment donner à Claude accès aux fichiers dont il a besoin. Je cite les commandes et les paramètres directement depuis la documentation officielle de Claude Code, que j’ai consultée début septembre 2026.

Vous trouverez des ressources supplémentaires sur la configuration des outils dans la documentation Ailoot.

Pourquoi Claude Code ne voit-il pas certains fichiers du projet ?

À retenir

Claude Code ne lit pas les fichiers de tout le disque, mais uniquement ceux du dossier depuis lequel vous l’avez lancé. Ce dossier s’appelle le répertoire de travail. Claude peut voir et lire tout ce qu’il contient, ainsi que ses sous-dossiers, sans rien demander. Tout ce qui se trouve en dehors — dans un dossier voisin, un niveau au-dessus ou sur un autre disque — est inaccessible tant que vous ne lui en accordez pas l’accès. Ainsi, la raison la plus fréquente pour laquelle un fichier « n’est pas visible » est simple : vous avez lancé Claude depuis un autre dossier. Vérifiez d’abord exactement d’où vous l’avez ouvert.

Par défaut, Claude Code travaille avec un seul dossier : celui dans lequel vous avez saisi la commande claude et démarré la session. La documentation le dit explicitement.

Par défaut, Claude a accès aux fichiers du dossier depuis lequel vous l’avez lancé.

— Claude Code Docs, Configurer les autorisations, documentation officielle

Ce dossier est son répertoire de travail. À l’intérieur, Claude lit n’importe quel fichier sans poser de questions supplémentaires : modifier un prompt, rechercher dans le code, lire un fichier précis, tout fonctionne immédiatement. Mais tout ce qui se trouve en dehors de ce dossier est inaccessible par défaut. Un dossier voisin, un dossier situé un niveau au-dessus, un autre disque : Claude n’ira pas y regarder tant que vous ne l’y autorisez pas.

Le dossier de travail peut être mal choisi. Si le projet est /Users/you/my-shop mais Claude démarre dans /Users/you/other-project, un dossier frère, son index.html reste hors de cet arbre. Depuis /Users/you, la situation diffère : my-shop est un descendant, pas inaccessible du seul fait du lancement depuis le dossier personnel, mais la portée est plus large que prévu. L’accès ne signifie pas non plus que tous les fichiers ont déjà été lus.

Je vais maintenant vous montrer comment vérifier et corriger cela : nous allons d’abord confirmer depuis quel dossier Claude a été lancé, puis lui donner accès aux fichiers dont il a besoin de différentes façons, d’une instruction ponctuelle à un paramètre permanent.

Comment vérifier depuis quel dossier Claude Code a été lancé ?

À retenir

Demandez à Claude dans quel dossier il se trouve, ou demandez-lui d’afficher le répertoire actuel avec la commande pwd : cela ne fait que vérifier l’emplacement et ne change rien. Comparez le résultat avec l’emplacement réel de votre projet. Si les chemins diffèrent, vous avez trouvé la raison : Claude a été lancé depuis le mauvais dossier. Pour une solution encore plus fiable, fermez la session et relancez Claude directement depuis le dossier du projet : accédez-y dans le terminal, puis saisissez claude à cet endroit.

Avant de corriger quoi que ce soit, assurez-vous que le dossier est bien en cause. C’est facile à vérifier. Demandez à Claude dans le chat d’afficher le répertoire dans lequel il se trouve : il exécutera pwd, une commande sans risque qui affiche uniquement le chemin et ne touche à rien.

pwd

La réponse montre le répertoire réel. Comparez-le au chemin complet du projet : /Users/you/other-project est frère de /Users/you/my-shop, tandis que /Users/you en est le parent. Le premier cas place my-shop hors de l’arbre ; le second l’inclut sans sélectionner ce projet précis comme racine.

La manière la plus simple de corriger ce décalage est de lancer Claude directement depuis le dossier du projet. Fermez la session actuelle, accédez au bon dossier dans le terminal et lancez Claude depuis cet emplacement :

# Remplacez ce chemin illustratif par la vraie racine de votre projet.
cd /Users/you/my-shop
claude

my-shop sera alors le répertoire de travail, et tous les fichiers du projet seront visibles. La même règle s’applique dans un éditeur comme VS Code : ouvrez le dossier qui contient le projet. Pas celui qui se trouve un niveau au-dessus, et pas tout le disque. Le dossier que vous ouvrez détermine ce que Claude considère comme son répertoire de travail.

Si relancer Claude est contraignant — par exemple, si vous lui avez déjà donné du contexte dans cette session et ne voulez pas le perdre — vous pouvez ajouter ou changer de dossier en cours de route. Les deux sections suivantes expliquent comment faire.

Comment montrer à Claude Code un fichier situé dans un dossier voisin ?

À retenir

Sans redémarrer la session, ajoutez le dossier nécessaire directement dans le chat avec la commande /add-dir : saisissez /add-dir suivi du chemin du dossier, et ses fichiers seront accessibles au même titre que ceux du dossier principal. Pour autoriser l’accès dès le démarrage de Claude, ajoutez l’option --add-dir et un chemin à la commande claude. Et si vous voulez qu’un dossier s’ouvre automatiquement à chaque démarrage, ajoutez-le sous la clé additionalDirectories dans les paramètres. Dans les trois cas, les fichiers du dossier ajouté peuvent être lus sans confirmation distincte.

Parfois, un projet ne tient pas dans un seul dossier. Le code se trouve à un endroit, les images ou les textes dans un dossier voisin, et les composants partagés ailleurs à proximité. Redémarrer Claude successivement dans chaque dossier est contraignant. Mieux vaut lui donner accès au dossier nécessaire tout en conservant le dossier principal comme répertoire de travail.

Le plus simple est de le faire directement dans la session en cours avec la commande :

/add-dir ../assets

Saisissez /add-dir suivi du chemin du dossier, et Claude pourra immédiatement accéder à ses fichiers au même titre qu’à ceux du dossier principal. Il ne redemandera pas l’autorisation : le dossier ajouté suit les mêmes règles que le répertoire de travail.

Les fichiers des répertoires supplémentaires suivent les mêmes règles d’accès que ceux du répertoire de travail principal : ils sont lus sans demander confirmation.

— Claude Code Docs, Configurer les autorisations, documentation officielle

Si vous savez à l’avance que vous allez travailler avec plusieurs dossiers, autorisez l’accès dès le démarrage de Claude en utilisant le même chemin, mais avec une option :

claude --add-dir ../assets

Et si vous avez constamment besoin du même dossier voisin dans un projet, inutile de l’ajouter manuellement à chaque fois. Le fichier de paramètres settings.json contient une clé additionalDirectories. Indiquez-y les chemins : ils seront automatiquement accessibles à chaque démarrage de Claude.

{
  "permissions": {
    "additionalDirectories": ["../assets", "../shared"]
  }
}

Une réserve concernant Windows : vous ne pouvez pas ajouter un dossier réseau avec un chemin comme \\server\shared : Claude n’accepte pas ce type de chemin. Montez-le comme un disque distinct avec une lettre de lecteur, puis transmettez cette lettre avec --add-dir. Les dossiers locaux ordinaires ne présentent pas ce problème.

Et si l’ajout d’un dossier voisin ne suffit pas et que vous devez accéder à un tout autre dossier ? Il existe une commande spécifique, présentée ci-dessous.

Comment faire passer Claude Code dans un autre dossier pendant une session ?

À retenir

La commande /cd change le répertoire de travail principal sans fermer la session : saisissez /cd suivi d’un chemin, et Claude s’y déplacera tout en conservant l’historique de la conversation. Pendant ce déplacement, il récupérera le fichier d’instructions CLAUDE.md du nouveau dossier et, si vous n’y avez encore jamais travaillé, vous demandera de confirmer que vous lui faites confiance. La différence avec /add-dir est que /add-dir ouvre un dossier voisin en plus du dossier principal, tandis que /cd déplace tout le répertoire de travail. Cette commande est disponible à partir de la version 2.1.169.

Parfois, l’ajout d’un dossier voisin ne suffit pas : vous devez changer de dossier principal et passer à un autre projet sans perdre le contexte que vous avez constitué. Utilisez la commande /cd :

/cd ../another-project

Claude considérera alors le nouveau dossier comme son répertoire de travail. Vous conservez tout l’historique de la conversation, mais l’emplacement qui sert de référence à Claude pour les fichiers change. Claude récupère aussi le fichier d’instructions CLAUDE.md du nouveau dossier, s’il y en a un : il s’adapte ainsi aux règles du nouveau projet.

À propos de la confiance, sachez que si vous n’avez encore jamais travaillé dans ce dossier, Claude vous demandera si vous lui faites confiance lorsque vous y accéderez. C’est une mesure de protection : un fichier d’instructions dans un dossier inconnu pourrait contenir n’importe quoi. Claude vérifie donc d’abord qu’il s’agit bien de votre projet. Confirmez, puis continuez.

La différence entre les deux commandes est simple. /add-dir conserve le dossier principal comme répertoire de travail et ouvre aussi un dossier voisin, ce qui est utile lorsque les éléments d’un projet sont dispersés. /cd déplace tout le répertoire de travail vers un nouvel emplacement, ce qui est utile pour passer à un autre projet. La commande /cd a été introduite dans la version 2.1.169. Si elle n’est pas disponible, mettez Claude Code à jour. J’ai publié un guide distinct sur la mise à jour de Claude Code.

La visibilité des fichiers par Claude Code n’est que le point de départ. Un accès aux fichiers ne suffit pas à produire des résultats fiables. Tout dépend de leur contenu et de la manière dont vous construisez le contexte autour du projet.

Pourquoi Claude Code ne voit-il pas un fichier dans un sous-dossier ?

À retenir

Les sous-dossiers fonctionnent différemment des dossiers voisins : Claude peut y accéder, mais leur contenu n’entre pas immédiatement dans son contexte. Claude charge les fichiers d’instructions et le contenu des sous-dossiers à la demande, lorsqu’il les consulte. Il ne les charge pas au démarrage. Un fichier situé dans un sous-dossier profondément imbriqué peut donc sembler « invisible » tant que vous ne lui indiquez pas son chemin exact. La solution est simple : donnez à Claude le chemin exact du fichier ou demandez-lui de le lire d’abord. Il deviendra alors visible.

Il ne faut pas confondre deux situations différentes. Un dossier voisin (situé en dehors du projet) est entièrement inaccessible tant que vous ne l’ajoutez pas. Un sous-dossier à l’intérieur du projet, c’est différent : Claude peut y accéder, mais il ne garde pas son contenu à l’esprit dès le départ.

Voici comment cela fonctionne. Au démarrage, Claude charge ce qui se trouve aux niveaux supérieurs du projet. Il charge les fichiers des sous-dossiers à la demande, lorsqu’il s’y rend pour lire quelque chose. La documentation décrit ce comportement pour les fichiers d’instructions, et la même logique s’applique au contexte en général.

Claude repère les fichiers dans les sous-dossiers du répertoire de travail. Au lieu de les charger au démarrage, il les récupère lorsqu’il lit des fichiers dans ces sous-dossiers.

— Claude Code Docs, Gérer la mémoire de Claude, documentation officielle

En clair : le fichier situé dans un sous-dossier profondément imbriqué n’a pas disparu et reste entièrement accessible. Claude ne l’a simplement pas encore en mémoire, car il n’est pas allé le consulter. C’est pourquoi on peut avoir l’impression que Claude « ne voit pas » un fichier alors qu’il est bien là et accessible.

Vous pouvez régler cela en une ligne. Donnez directement à Claude le chemin du fichier — par exemple, src/components/header.jsx — ou demandez-lui simplement de lire le fichier d’abord. Dès qu’il le consulte, le fichier entre dans le contexte et vous pouvez travailler avec comme d’habitude. Aucun paramètre ne doit être modifié.

Où les fichiers disparaissent-ils du menu @ et quel est le rapport avec .gitignore ?

À retenir

Lorsque vous saisissez le symbole @, Claude Code affiche une liste de fichiers parmi lesquels choisir. Par défaut, cette liste masque tout ce qui figure dans .gitignore : dossiers de service, fichiers d’environnement et résultats de compilation. Un fichier peut donc se trouver exactement là où il devrait être sans apparaître dans le menu @. Le paramètre respectGitignore contrôle ce comportement : il est activé par défaut et masque ces fichiers. Réglez-le sur false pour que le menu affiche aussi les fichiers répertoriés dans .gitignore. Vous pouvez toujours saisir manuellement le chemin d’un tel fichier.

Une autre raison fréquente de penser que Claude a « perdu » un fichier est le sélecteur de fichiers. Lorsque vous saisissez @, une liste apparaît, ce qui vous permet de sélectionner facilement un fichier sans en saisir le chemin complet. Mais cette liste n’affiche pas tout.

Par défaut, le menu @ masque les fichiers répertoriés dans .gitignore. Ce fichier indique ce qui ne doit pas être ajouté au dépôt partagé : les dossiers de service, les fichiers contenant des mots de passe et des paramètres d’environnement, ainsi que les résultats de compilation terminés. Le raisonnement est clair : en général, vous n’avez pas besoin de manipuler ces fichiers, qui ne feraient qu’encombrer la liste. Mais il arrive que vous ayez besoin de l’un d’eux et qu’il n’apparaisse pas dans le menu.

Le paramètre respectGitignore contrôle ce comportement. Il est activé par défaut, de sorte que les fichiers de .gitignore n’apparaissent pas dans le menu. Pour les afficher, réglez-le sur false :

{
  "respectGitignore": false
}

Vous pouvez faire la même chose sans modifier le fichier, en utilisant la commande /config dans Claude Code. L’option s’appelle « Respect .gitignore in file picker ». Décochez-la, et les fichiers masqués réapparaîtront dans le menu.

Une réserve importante : respectGitignore s’applique uniquement au menu @ et n’a rien à voir avec l’accès aux fichiers. Même si un fichier est masqué dans la liste, vous pouvez toujours saisir son chemin manuellement, et Claude le lira. Le menu est une fonction pratique ; il ne définit pas les limites d’accès.

Que faire si Claude Code ne peut pas lire un fichier précis ?

À retenir

Parfois, le dossier est correct, mais Claude refuse toujours de lire un fichier précis. La raison est généralement une restriction dans les paramètres. Le fichier settings.json peut contenir des règles deny qui bloquent la lecture de certains fichiers, le plus souvent des fichiers .env contenant des clés et des mots de passe. Il existe aussi un paramètre qui bloque complètement la lecture de tout ce qui se trouve en dehors des dossiers de travail. Vérifiez ces deux endroits dans settings.json. Et n’oubliez pas que la restriction concernant .env est une mesure de protection activée par défaut : vous ne devriez pas la supprimer sans raison valable.

Si le dossier est bien le bon et que l’accès est autorisé, mais que Claude refuse toujours de lire un fichier précis, il est probablement soumis à une restriction. Les restrictions se trouvent dans le fichier de paramètres settings.json et sont de deux types.

Le premier type consiste en une restriction ciblée sur certains fichiers. Dans les paramètres, il s’agit des règles deny, qui concernent le plus souvent le fichier .env, où sont stockés les clés et les mots de passe :

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)"
    ]
  }
}

Une telle règle empêche Claude de lire les fichiers concernés, et c’est volontaire. Les clés et les mots de passe ne devraient pas se retrouver dans une conversation avec le modèle ; c’est pourquoi .env est protégé par défaut. Si Claude refuse de lire .env ou un fichier similaire contenant des secrets, c’est intentionnel : vous ne devriez pas supprimer cette restriction sans motif sérieux.

Le second type est une restriction générale concernant tout ce qui se trouve en dehors des dossiers de travail. Le paramètre blockReadsOutsideWorkingDirectories la contrôle. Lorsqu’il est activé, Claude refuse de lire tout fichier en dehors du répertoire de travail, même si vous essayez de l’ouvrir directement. S’il est réglé sur true et que vous avez besoin d’un fichier externe, ajoutez son dossier avec /add-dir ou désactivez la restriction :

{
  "permissions": {
    "blockReadsOutsideWorkingDirectories": false
  }
}

Ce paramètre a été introduit dans la version 2.1.257. Si vous avez tout essayé et que le fichier reste inaccessible, pensez à vérifier à la fois deny et blockReadsOutsideWorkingDirectories.

Par où commencer si Claude Code ne voit pas les fichiers ?

À retenir

Commencez par vérifier le dossier : demandez à Claude d’afficher le répertoire actuel avec pwd et comparez-le à l’emplacement du projet. S’ils ne correspondent pas, relancez Claude depuis le dossier du projet ou allez-y avec /cd. Besoin de fichiers dans un dossier voisin ? Ouvrez-le avec /add-dir. Claude ne voit pas un fichier dans un sous-dossier ? Donnez-lui directement son chemin. Un fichier manque dans le menu @ ? C’est lié à .gitignore : réglez respectGitignore sur false. Un fichier est bloqué ? Cherchez une restriction deny dans settings.json.

Voici un plan court que vous pouvez suivre du début à la fin.

  1. Vérifiez le répertoire de travail : demandez à Claude d’afficher le répertoire actuel avec pwd et comparez-le à l’emplacement du projet.
  2. Si les dossiers diffèrent, relancez Claude depuis le bon dossier (cd project, puis claude) ou allez-y avec la commande /cd.
  3. Besoin de fichiers dans un dossier voisin ? Ajoutez-le avec /add-dir ou avec l’option --add-dir au lancement de Claude.
  4. Un fichier d’un sous-dossier n’est pas dans le contexte ? Donnez directement son chemin à Claude ou demandez-lui de lire le fichier.
  5. Un fichier manque dans le menu @ ? C’est dû à .gitignore. Réglez respectGitignore sur false ou décochez la case dans /config.
  6. Un fichier précis est bloqué ? Vérifiez les règles deny et blockReadsOutsideWorkingDirectories dans settings.json.

Dans neuf cas sur dix, la première étape règle tout : Claude a été lancé depuis le mauvais dossier. L’accès aux fichiers est essentiel, mais il ne construira pas votre projet à votre place. J’ai expliqué en détail comment construire le contexte autour de Claude pour qu’il garde le projet entier à l’esprit et ne perde pas le fil dans mon guide sur le Second Brain dans Claude Code.

Sources

Retrouvez des ressources supplémentaires sur l’utilisation des outils dans la documentation Ailoot.

Plus de détails

Questions fréquentes : Claude Code ne voit pas les fichiers : dossier et accès

Pourquoi démarrer depuis le dossier personnel diffère-t-il d’un projet frère ?

Un projet sous le dossier personnel est descendant : il reste dans cet arbre, avec une portée plus large que prévu. Un dossier frère est hors de l’arbre de travail courant. Comparez les chemins complets avant de diagnostiquer l’accès.

L’accès à un sous-dossier signifie-t-il que ses fichiers sont déjà dans le contexte ?

Non. Donnez le chemin et demandez la lecture. Si elle est refusée, inspectez les permissions applicables. L’absence dans un menu de sélection et un refus de lecture sont deux problèmes différents.

Tous les articles