Dépannage12 min de lecture

Permissions et sécurité - Depannage

SFEIR Institute

En Bref (TL;DR)

Les problèmes de permissions et de sécurité dans Claude Code bloquent souvent l'exécution de commandes, l'accès aux fichiers ou l'écriture dans certains répertoires. Ce guide de dépannage vous donne les commandes de diagnostic, les causes probables et les solutions concrètes pour résoudre chaque situation rapidement.

Les problèmes de permissions et de sécurité dans Claude Code bloquent souvent l'exécution de commandes, l'accès aux fichiers ou l'écriture dans certains répertoires. Ce guide de dépannage vous donne les commandes de diagnostic, les causes probables et les solutions concrètes pour résoudre chaque situation rapidement.

Le dépannage des permissions et de la sécurité dans Claude Code est une compétence indispensable pour tout développeur qui utilise cet outil au quotidien. Claude Code v2.1 gère trois niveaux de permissions - lecture, écriture et exécution - qui interagissent avec le système de fichiers, Git et les politiques de sécurité de votre organisation.

plus de 60 % des tickets de support liés à Claude Code concernent des erreurs de permissions mal configurées.

Quels sont les symptômes les plus fréquents liés aux permissions dans Claude Code ?

Avant de plonger dans chaque problème, voici un tableau récapitulatif des 12 erreurs de permissions les plus courantes. Ce tableau vous permet d'identifier rapidement votre situation et d'appliquer la solution adaptée.

SymptômeCause probableSolution
Permission denied à l'exécution d'une commande BashMode de permission trop restrictif (plan mode)Passez en mode bypassPermissions ou approuvez manuellement
Impossible d'écrire dans un fichier du projetDroits système insuffisants sur le répertoireExécutez chmod -R u+w ./projet sur le dossier concerné
Claude Code refuse de lancer npm installCommande non autorisée dans la liste allowlistAjoutez la commande dans .claude/settings.json sous allowedTools
Erreur EACCES lors de l'installation globalenpm tente d'écrire dans /usr/local/lib sans sudoConfigurez le prefix npm : npm config set prefix ~/.npm-global
Fichier .env ignoré ou inaccessible.claude/settings.json exclut les fichiers sensiblesVérifiez la liste ignoredFiles dans vos paramètres
git push bloqué par Claude CodePolitique de sécurité empêche les actions destructivesConfirmez l'action quand le prompt apparaît ou utilisez --allowedTools
Sandbox bloque l'accès réseauMode sandbox activé par défautDésactivez le sandbox avec dangerouslyDisableSandbox si justifié
Hooks pre-commit refusésClaude Code n'a pas la permission d'exécuter les hooksRendez le hook exécutable : chmod +x .git/hooks/pre-commit
Impossible de lire un fichier hors du projetRestriction de chemin par défaut dans Claude CodeAjoutez le chemin au allowedDirectories dans la configuration
Clé API non reconnue ou expiréeVariable ANTHROPIC_API_KEY absente ou invalideExportez la clé : export ANTHROPIC_API_KEY=sk-ant-...
Erreur EPERM sur Windows/WSLConflit de permissions entre systèmes de fichiersDéplacez votre projet dans le filesystem Linux (/home/user/)
Timeout lors de l'approbation de permissionDélai d'attente dépassé sans réponse utilisateurRéglez permissionTimeout dans les settings ou pré-approuvez les commandes

Pour une vue d'ensemble des mécanismes de permissions, consultez le guide complet des permissions et sécurité qui détaille chaque niveau d'autorisation.

À retenir : identifiez d'abord le symptôme exact dans le tableau avant de chercher une solution - 80 % des problèmes se résolvent en moins de 2 minutes.

Comment diagnostiquer un problème de permissions dans Claude Code ?

Le diagnostic commence toujours par la collecte d'informations. Exécutez ces commandes dans l'ordre pour comprendre l'état de votre environnement.

# Vérifier la version de Claude Code
claude --version

# Afficher la configuration active
claude config list

# Vérifier les permissions du répertoire de travail
ls -la .

# Tester les droits d'écriture
touch .claude-test && rm .claude-test

La commande claude config list affiche l'ensemble des paramètres actifs, y compris les permissions. En pratique, 90 % des diagnostics se résolvent en vérifiant trois éléments : la version installée, les droits du répertoire et la configuration active.

Vérifiez ensuite le fichier de configuration principal. Ce fichier se trouve dans .claude/settings.json à la racine de votre projet ou dans ~/.claude/settings.json pour la configuration globale.

{
  "permissions": {
    "allow": ["Read", "Write", "Bash"],
    "deny": ["WebFetch"],
    "allowedTools": ["npm install", "git status"]
  }
}

Concrètement, si une commande est absente de allowedTools et que vous êtes en mode restrictif, Claude Code vous demandera une approbation manuelle à chaque exécution. Pour approfondir les erreurs courantes lors de vos premières sessions, le guide sur les erreurs courantes des premières conversations couvre les cas les plus fréquents.

À retenir : lancez claude config list en premier - cette commande révèle 90 % des problèmes de configuration.

Pourquoi Claude Code refuse-t-il d'exécuter certaines commandes ?

Claude Code applique un modèle de sécurité à trois couches : les permissions globales, les permissions projet et les approbations dynamiques. Une commande peut être bloquée à n'importe quel niveau.

Le mode de permission actif détermine le comportement par défaut. Voici les différences concrètes entre chaque mode :

ModeComportementCas d'usage
defaultDemande approbation pour chaque outil non listéUtilisation quotidienne sécurisée
planLecture seule, aucune modification autoriséeRevue de code, exploration
bypassPermissionsToutes les actions autorisées sans confirmationCI/CD, scripts automatisés
acceptEditsÉditions de fichiers auto-approuvées, Bash demande confirmationDéveloppement actif avec filet de sécurité

le mode default est recommandé pour 95 % des cas d'usage en entreprise. Vérifiez votre mode actif avec la commande suivante :

claude config get permissions.mode

Si vous recevez l'erreur « Tool not allowed », cela signifie que l'outil spécifique n'est pas dans votre liste d'autorisation. Ajoutez-le dans votre configuration projet :

{
  "allowedTools": [
    "Bash(npm install)",
    "Bash(npm test)",
    "Bash(git *)"
  ]
}

La syntaxe Bash(git *) autorise toutes les commandes Git en une seule règle. En pratique, cette approche par wildcards réduit de 70 % les interruptions liées aux approbations manuelles. Pour comprendre toutes les commandes slash disponibles et leurs interactions avec les permissions, consultez le guide des erreurs courantes des commandes slash.

À retenir : le mode default offre le meilleur compromis sécurité/productivité - ne passez en bypassPermissions que dans un environnement contrôlé.

Comment résoudre les erreurs d'accès aux fichiers et répertoires ?

Les erreurs EACCES et Permission denied sur les fichiers représentent environ 40 % des problèmes remontés. Voici comment les diagnostiquer et les corriger.

Exécutez cette commande pour identifier les fichiers problématiques dans votre projet :

# Trouver les fichiers non accessibles en écriture
find . -not -writable -type f -name "*.ts" -o -name "*.json" 2>/dev/null

Les causes principales sont au nombre de trois. Premièrement, les fichiers clonés depuis un dépôt Git peuvent conserver des permissions restrictives. Deuxièmement, certains éditeurs verrouillent les fichiers ouverts. Troisièmement, des outils de CI/CD modifient parfois les droits après un build.

ScénarioCommande de diagnosticCommande de correction
Fichier en lecture seulestat -f "%Sp %N" fichier.tschmod u+w fichier.ts
Répertoire .claude verrouilléls -la ~/.claude/chmod -R u+rw ~/.claude/
node_modules corrompuls -la node_modules/.package-lock.jsonrm -rf node_modules && npm install
Fichier CLAUDE.md inaccessiblecat .claude/CLAUDE.mdchmod 644 .claude/CLAUDE.md

Concrètement, après un git clone, exécutez systématiquement chmod -R u+rw . sur le répertoire du projet pour éviter les problèmes de droits. Cette opération prend moins de 2 secondes sur un projet de 500 MB.

Le système de mémoire CLAUDE.md nécessite des droits de lecture et d'écriture. Si vous rencontrez des difficultés avec ce fichier, le guide sur les erreurs courantes du système de mémoire CLAUDE.md vous aidera à résoudre le problème.

À retenir : après chaque git clone, vérifiez les permissions avec ls -la - un chmod -R u+rw . préventif évite 40 % des erreurs.

Comment configurer les règles de sécurité pour un projet d'équipe ?

La sécurité dans Claude Code se configure à trois niveaux : global (~/.claude/settings.json), projet (.claude/settings.json) et session (flags CLI). Les règles projet priment sur les règles globales.

Créez un fichier .claude/settings.json à la racine de votre projet avec cette structure :

{
  "permissions": {
    "allow": ["Read", "Edit", "Write", "Glob", "Grep"],
    "deny": ["Bash(rm -rf *)", "Bash(git push --force)"],
    "allowedTools": [
      "Bash(npm test)",
      "Bash(npm run build)",
      "Bash(git add *)",
      "Bash(git commit *)"
    ]
  },
  "security": {
    "ignoredFiles": [".env", ".env.local", "credentials.json"],
    "maxFileSize": "10MB"
  }
}

Cette configuration autorise les opérations de développement courantes tout en bloquant les actions destructives. La liste deny est prioritaire sur la liste allow : si une commande apparaît dans les deux, elle sera refusée.

En pratique, les équipes de 5 à 15 développeurs chez SFEIR Institute utilisent cette configuration comme base, puis l'adaptent selon leurs besoins spécifiques. La checklist des permissions et sécurité vous fournit un modèle complet prêt à l'emploi.

Pour aller plus loin dans la maîtrise des permissions, la formation Claude Code d'une journée proposée par SFEIR vous guide à travers des labs pratiques où vous configurez des politiques de sécurité adaptées à votre contexte d'équipe. Vous y apprendrez à définir des règles granulaires et à auditer les actions autorisées.

À retenir : committez le fichier .claude/settings.json dans votre dépôt - toute l'équipe bénéficie alors des mêmes règles de sécurité.

Quels sont les problèmes de permissions spécifiques à Git dans Claude Code ?

L'intégration Git de Claude Code applique des garde-fous supplémentaires. Par défaut, les commandes git push --force, git reset --hard et git clean -f sont bloquées pour protéger votre historique.

Voici les erreurs Git liées aux permissions les plus courantes :

  • git push demande une confirmation manuelle à chaque exécution
  • git commit --amend est bloqué si le commit précédent a déjà été poussé
  • git checkout . refuse de s'exécuter pour protéger les modifications non committées
  • Les hooks pre-commit échouent si le fichier n'est pas exécutable

Vérifiez les permissions de vos hooks Git avec cette commande :

ls -la .git/hooks/

Si un hook n'a pas le flag exécutable (-rw-r--r-- au lieu de -rwxr-xr-x), corrigez avec :

chmod +x .git/hooks/pre-commit
chmod +x .git/hooks/commit-msg

Le guide de dépannage de l'intégration Git couvre les cas avancés comme les conflits de merge et les erreurs de rebase. Si vous rencontrez des problèmes lors de l'installation initiale, le dépannage de l'installation traite les erreurs de configuration Git initiale.

À retenir : les hooks Git doivent avoir le flag exécutable (chmod +x) - c'est la cause n°1 des échecs de pre-commit dans Claude Code.

Comment résoudre les problèmes de clé API et d'authentification ?

La clé API Anthropic (ANTHROPIC_API_KEY) est le mécanisme d'authentification principal de Claude Code. Une clé invalide, expirée ou mal configurée bloque l'ensemble des fonctionnalités.

Vérifiez que votre clé est correctement définie :

# Vérifier si la variable est définie
echo $ANTHROPIC_API_KEY | head -c 10

# Tester la connexion
claude --print "test"

Les clés API Anthropic commencent par le préfixe sk-ant-. Si votre clé commence autrement, elle est invalide. les clés API ont une durée de validité configurable entre 30 et 365 jours.

ProblèmeDiagnosticSolution
Clé non définieecho $ANTHROPIC_API_KEY retourne videAjoutez export ANTHROPIC_API_KEY=sk-ant-... dans ~/.zshrc
Clé expiréeErreur 401 UnauthorizedRegénérez une clé sur console.anthropic.com
Clé révoquéeErreur 403 ForbiddenContactez l'administrateur de votre organisation
Quota dépasséErreur 429 Too Many RequestsAttendez le reset du quota ou upgradez votre plan

le quota par défaut du plan Team est de 500 000 tokens par minute. Le plan Enterprise monte à 2 000 000 tokens par minute.

Pour un démarrage rapide avec une configuration sécurisée, suivez le guide de démarrage rapide des permissions qui inclut la configuration de la clé API.

À retenir : stockez votre clé API dans ~/.zshrc ou un gestionnaire de secrets - ne la codez jamais en dur dans un fichier versionné.

Peut-on personnaliser les niveaux de permissions par outil ?

Claude Code v2.1 permet de définir des permissions granulaires pour chaque outil individuellement. Cette fonctionnalité est particulièrement utile quand vous souhaitez autoriser certaines commandes Bash tout en bloquant les outils réseau.

La configuration granulaire utilise la syntaxe NomOutil(pattern) :

{
  "allowedTools": [
    "Bash(npm test)",
    "Bash(npm run lint)",
    "Bash(npx jest *)",
    "Edit",
    "Read",
    "Write"
  ],
  "deniedTools": [
    "Bash(curl *)",
    "Bash(wget *)",
    "WebFetch"
  ]
}

Cette approche permet d'autoriser les commandes de test et de lint tout en interdisant les requêtes réseau sortantes. En pratique, 85 % des projets d'entreprise utilisent ce type de configuration fine pour respecter leurs politiques de sécurité réseau.

Le tutoriel complet des permissions vous guide pas à pas dans la mise en place de ces règles granulaires, avec des exemples adaptés à différents types de projets (frontend, backend, monorepo).

Si vous cherchez à approfondir ces notions de sécurité dans un cadre plus large, la formation Développeur Augmenté par l'IA de 2 jours couvre la configuration sécurisée des outils IA en environnement professionnel, avec des ateliers sur les politiques de permissions en équipe. Pour les profils expérimentés, la formation Développeur Augmenté par l'IA – Avancé d'une journée aborde les stratégies de sécurité avancées et l'automatisation des audits de permissions.

À retenir : utilisez la syntaxe Bash(commande) pour autoriser ou bloquer des commandes individuelles - la granularité est la clé d'une sécurité efficace.

Quand faut-il contacter le support Anthropic pour un problème de permissions ?

Certains problèmes dépassent le cadre de la configuration locale. Contactez le support Anthropic dans les cas suivants :

  1. Votre clé API retourne une erreur 403 après regénération
  2. Le quota affiché ne correspond pas à votre plan
  3. Un outil fonctionnait puis a cessé sans changement de configuration
  4. Des erreurs de permission apparaissent uniquement sur certaines machines avec la même configuration
  5. Le mode bypassPermissions ne fonctionne pas malgré une configuration correcte

Avant de contacter le support, rassemblez ces informations :

# Générer un rapport de diagnostic complet
claude --version
node --version
uname -a
claude config list 2>&1
cat .claude/settings.json 2>/dev/null || echo "Pas de config projet"

Node.js 22 LTS est la version recommandée en 2026 pour Claude Code. Les versions antérieures à Node.js 18 ne sont plus supportées et peuvent provoquer des erreurs de permissions inattendues.

Le guide général de dépannage Claude Code centralise les procédures de diagnostic pour l'ensemble des problèmes, au-delà des seules permissions. Voici comment préparer votre demande de support :

  • Incluez la sortie complète de claude --version et node --version
  • Joignez votre fichier .claude/settings.json (en masquant les clés API)
  • Décrivez les étapes exactes pour reproduire le problème
  • Précisez si le problème est apparu après une mise à jour

À retenir : rassemblez la version de Claude Code, la version de Node.js et votre configuration avant de contacter le support - ces trois éléments accélèrent le diagnostic de 50 %.

Comment auditer les actions autorisées et exécutées par Claude Code ?

Claude Code enregistre chaque action dans un journal local. Ce journal vous permet de vérifier quelles commandes ont été exécutées et quelles permissions ont été utilisées.

Consultez le journal des actions récentes :

# Afficher les dernières actions enregistrées
cat ~/.claude/logs/actions.log | tail -20

Chaque entrée du journal contient l'horodatage, le type d'outil utilisé, la commande exécutée et le résultat (succès ou échec). En pratique, ce journal est indispensable pour les audits de conformité en entreprise.

Les métriques d'audit typiques pour un projet actif montrent environ 150 à 300 actions par jour, dont 60 % de lectures, 25 % d'éditions et 15 % de commandes Bash. Ces chiffres permettent de détecter des anomalies - un pic soudain de commandes Bash peut indiquer un problème de configuration.

Concrètement, SFEIR recommande de mettre en place une revue hebdomadaire du journal d'actions pour les projets sensibles. Cette pratique prend 10 minutes et permet de détecter les écarts de politique de sécurité avant qu'ils ne deviennent des incidents.

À retenir : consultez ~/.claude/logs/actions.log régulièrement - l'audit proactif des permissions prévient les incidents de sécurité.

Formation recommandée

Formation Claude Code

Maîtrisez Claude Code avec nos formateurs experts. Formation pratique, hands-on, directement applicable à vos projets.

Voir le programme