12/10/2026

Claude Code : arrêter les demandes d’autorisation

Dire à Claude « autorise tout » dans la conversation ne sert à rien : les permissions sont appliquées par Claude Code, pas par le modèle. Il faut passer par la configuration.

Les modes de permission

Mode Ce qui passe sans demander
default (Manual) Lectures uniquement
acceptEdits Lectures, modifs de fichiers, mkdir, mv, cp…
plan Lectures (Claude ne modifie rien)
auto Tout, avec un contrôleur de sécurité en arrière-plan
bypassPermissions Tout (à réserver aux conteneurs / VM)
{
  "permissions": {
    "defaultMode": "auto"
  }
}
claude --dangerously-skip-permissions --continue

Règles allow / ask / deny

/permissions
{
  "permissions": {
    "allow": ["Bash(npm run *)", "Bash(git commit *)"],
    "deny": ["Bash(git push *)"]
  }
}

Pourquoi ça demande encore malgré tout

/add-dir ~/projets/autre-dossier
"blockReadsOutsideWorkingDirectories": true

Onglet « Auto mode » de /permissions

Source control: github.com/mon-compte et tous ses dépôts
Trusted internal domains: monsite.com, api.monsite.com
/auto-mode-setup

Empêcher Claude de poser des questions

AskUserQuestion
Ne me pose jamais de questions. Quand quelque chose est ambigu,
choisis l'option la plus raisonnable, fais-le, et indique à la fin
ce que tu as décidé. N'utilise jamais cd, tu es déjà dans le bon dossier.

La solution radicale : hook PermissionRequest

Répond automatiquement « oui » à chaque demande d’autorisation, y compris celles codées en dur. À mettre dans ~/.claude/settings.json :

{
  "hooks": {
    "PermissionRequest": [
      {
        "matcher": "*",
        "hooks": [
          {
            "type": "command",
            "command": "echo '{\"hookSpecificOutput\":{\"hookEventName\":\"PermissionRequest\",\"decision\":{\"behavior\":\"allow\"}}}'"
          }
        ]
      }
    ]
  }
}
/hooks
Ajoute un hook PermissionRequest dans mon fichier ~/.claude/settings.json
pour que toutes les demandes d'autorisation soient acceptées automatiquement.
Lis d'abord le fichier, ne supprime rien, fusionne proprement avec la clé
"hooks" existante, utilise "matcher": "*", puis montre-moi le fichier final.

Sources