Passer au contenu principal
Claude Code GitHub Actions est une GitHub Action qui exécute Claude Code dans les workflows de votre repository. Mentionnez @claude dans un commentaire de pull request ou d’issue pour que Claude analyse le code, implémente des modifications et pousse des commits. Vous pouvez également donner à la GitHub Action Claude Code un prompt pour s’exécuter automatiquement sur n’importe quel événement GitHub. Utilisez-la pour transformer les issues en pull requests, corriger les bugs à partir d’un commentaire ou automatiser les tâches récurrentes. Plusieurs produits partagent le nom Claude Code. Cette page couvre l’intégration de workflow claude-code-action, que vous configurez avec des fichiers de workflow dans votre repository. Pour les produits connexes, consultez :
  • Code Review : révision automatique sur chaque pull request, sans écrire de workflow
  • Claude Code dans le cloud : sessions Claude Code qui s’exécutent sur une infrastructure cloud au lieu de votre machine
  • Claude Agent SDK : automatisation personnalisée en dehors de GitHub Actions. La GitHub Action Claude Code est construite sur le SDK
  • GitHub Enterprise Server : Claude Code avec GitHub auto-hébergé

Configuration

Vous pouvez configurer la GitHub Action Claude Code de deux manières :
  • Configuration rapide : exécutez /install-github-app depuis Claude Code. Claude Code installe la GitHub App, ajoute votre secret d’authentification et prépare la pull request du workflow pour vous
  • Configuration manuelle : installez l’application, ajoutez le secret et copiez vous-même le fichier de workflow dans votre dépôt. Choisissez cette option si vous n’exécutez pas Claude Code en local, si la commande échoue ou si vous souhaitez garder un contrôle total sur les fichiers de workflow
Dans les deux cas, vous avez besoin d’un accès administrateur au dépôt.

Configuration rapide

/install-github-app fonctionne uniquement avec les dépôts github.com. Si le remote Git de votre dépôt se trouve sur gitlab.com ou bitbucket.org, la commande affiche un avertissement et se termine au lieu de lancer la configuration. Pour exécuter Claude Code depuis des pipelines GitLab, consultez Claude Code GitLab CI/CD. Avant de commencer, installez la GitHub CLI et authentifiez-la avec gh auth login. Claude Code vérifie sa présence et vous avertit si elle est absente. Ouvrez claude dans le dépôt que vous souhaitez connecter, exécutez /install-github-app et suivez les instructions. Claude Code installe la Claude GitHub App, puis configure un secret d’authentification pour les workflows :
  • Si Claude Code dispose déjà d’une clé API, il réutilise cette clé et propose de conserver le secret ANTHROPIC_API_KEY existant du dépôt s’il est déjà défini
  • Sinon, choisissez entre créer un jeton de longue durée avec votre abonnement Claude et coller une clé API
Claude Code enregistre les identifiants en tant que secret du dépôt, nommé ANTHROPIC_API_KEY pour une clé API ou CLAUDE_CODE_OAUTH_TOKEN pour un jeton d’abonnement. Claude Code pousse ensuite une branche contenant les fichiers de workflow que vous avez sélectionnés, déjà configurés pour utiliser ce secret, et ouvre GitHub dans votre navigateur avec une pull request prête à être créée. Créez et fusionnez cette pull request, et @claude fonctionne dans le dépôt. Pour interrompre la configuration en cours de route, appuyez sur Esc. Une étape déjà en cours se termine, et aucune étape suivante ne démarre. Le message de clôture indique ce qui a déjà été effectué dans le dépôt, comme une branche poussée ou un secret enregistré. Si vous sélectionnez le workflow de revue, Claude publie chaque revue directement sur la pull request, sous forme de commentaire inline pour chaque problème détecté, ou d’un seul commentaire récapitulatif lorsqu’il n’en trouve aucun. Claude ignore certaines pull requests, comme les brouillons. L’exemple de workflow de revue utilise le même skill et les répertorie. Avant la v2.1.229, Claude écrivait sa revue uniquement dans le log d’exécution du workflow. Pour mettre à jour un workflow de revue généré par une version antérieure, effectuez l’une des opérations suivantes :
  • Exécutez à nouveau /install-github-app. Lorsque le dépôt contient déjà un claude.yml, sélectionnez Update workflow file with latest version. Claude Code pousse de nouvelles copies des fichiers de workflow vers une nouvelle branche et ouvre la pull request, comme lors d’une première installation.
  • Ajoutez vous-même l’argument --comment et la ligne claude_args de l’exemple de workflow de revue au fichier versionné, ce qui conserve toutes les autres modifications que vous y avez apportées.
Après l’installation de la GitHub App, Claude Code vous demande s’il faut poursuivre la configuration de GitHub Actions. Choisissez Skip for now pour vous arrêter avec uniquement la GitHub App installée. Exécutez à nouveau /install-github-app plus tard pour terminer les étapes du workflow et du secret.

Configuration manuelle

Pour configurer la GitHub Action Claude Code sans exécuter /install-github-app, installez l’application, ajoutez un secret et copiez vous-même un fichier de workflow :
1

Installer la Claude GitHub App

Installez la Claude GitHub App sur votre dépôt. La GitHub Action Claude Code s’appuie sur trois des permissions de l’application :
  • Contents : lecture et écriture, pour que Claude puisse modifier les fichiers du dépôt
  • Issues : lecture et écriture, pour que Claude puisse répondre aux issues
  • Pull requests : lecture et écriture, pour que Claude puisse créer des PR et pousser des modifications
Lors de l’installation, vous accordez également des permissions utilisées par d’autres fonctionnalités de Claude. Consultez Permissions de la GitHub App pour la liste complète.
2

Ajouter un secret d'authentification

Ajoutez l’un des secrets suivants à votre dépôt, selon votre mode d’authentification. Consultez le guide de GitHub sur l’utilisation des secrets dans GitHub Actions.
  • ANTHROPIC_API_KEY : une clé API Claude issue de la Claude Console
  • CLAUDE_CODE_OAUTH_TOKEN : un jeton OAuth qui s’authentifie avec votre abonnement Claude, disponible avec les forfaits Pro, Max, Ultra, Team et Enterprise. Générez-en un en exécutant claude setup-token en local. Consultez Générer un jeton de longue durée
Dans les fichiers de workflow, transmettez le secret à l’entrée correspondante : anthropic_api_key pour une clé API, ou claude_code_oauth_token pour un jeton OAuth.
3

Copier le fichier de workflow

Copiez examples/claude.yml dans le répertoire .github/workflows/ de votre dépôt. Ce fichier est un workflow fonctionnel, pas seulement un exemple. Tel quel, Claude répond chaque fois que quelqu’un mentionne @claude dans une issue ou une pull request, en s’authentifiant avec le secret ANTHROPIC_API_KEY. Si vous avez plutôt ajouté CLAUDE_CODE_OAUTH_TOKEN, remplacez la ligne anthropic_api_key du workflow par claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}.
Après la configuration, testez la GitHub Action Claude Code en mentionnant @claude dans un commentaire d’issue ou de PR.

Configurer pour une organisation

Avec la configuration rapide ou manuelle, vous configurez un dépôt à la fois. Pour déployer la GitHub Action Claude Code dans toute une organisation :
  • Installez une seule fois la Claude GitHub App au niveau de l’organisation, en choisissant tous les dépôts ou une liste sélectionnée
  • Stockez le secret d’authentification en tant que secret Actions au niveau de l’organisation, afin que chaque dépôt n’ait pas besoin de sa propre copie
  • Ajoutez le fichier de workflow à chaque dépôt qui doit exécuter la GitHub Action Claude Code, ou définissez le job une seule fois en tant que workflow réutilisable appelé par chaque dépôt
Pour un secret partagé entre plusieurs dépôts, authentifiez-vous avec une clé API issue de la Claude Console plutôt qu’avec un jeton OAuth, car un jeton OAuth est lié à l’abonnement de la personne qui a exécuté claude setup-token. Pour éviter complètement de stocker un secret de longue durée, authentifiez-vous via la fédération d’identité de charge de travail : la GitHub Action Claude Code échange le jeton GitHub OpenID Connect (OIDC) du workflow contre un accès à l’API Claude via un compte de service de la Claude Console. Définissez ces entrées :
  • anthropic_federation_rule_id : l’ID de la règle de fédération, fdrl_...
  • anthropic_organization_id : l’ID de votre organisation Anthropic
  • anthropic_service_account_id : l’ID du compte de service, svac_.... Facultatif, car la règle de fédération que vous créez dans la Console cible déjà un compte de service
  • anthropic_workspace_id : l’ID de l’espace de travail, wrkspc_.... Facultatif lorsque la règle de fédération cible un seul espace de travail
Accordez au workflow la permission id-token: write, dont la GitHub Action Claude Code a besoin pour l’échange de fédération, même lorsque vous transmettez votre propre github_token. Consultez le guide de configuration de la GitHub Action Claude Code pour la configuration côté Console. Pour les questions relatives au traitement et à la conservation des données dans le cadre d’un audit de sécurité, consultez utilisation des données et sécurité.

Désinstaller

Pour supprimer la GitHub Action Claude Code, annulez chaque élément de la configuration qui s’applique à votre installation :
  • Fichiers de workflow : supprimez de .github/workflows/ les workflows qui utilisent anthropics/claude-code-action. Si vous avez utilisé la configuration rapide, recherchez claude.yml et, si vous avez sélectionné le workflow de revue, claude-code-review.yml. Une fois les workflows supprimés, la GitHub Action Claude Code ne s’exécute plus
  • Secrets : supprimez le secret ANTHROPIC_API_KEY ou CLAUDE_CODE_OAUTH_TOKEN du dépôt, ainsi que des secrets Actions au niveau de l’organisation si vous l’avez partagé entre plusieurs dépôts. Si vous supprimez un secret, les identifiants qu’il contenait restent valides. Pour retirer complètement une clé API, supprimez également la clé dans la Claude Console
  • GitHub App : désinstallez la Claude GitHub App dans les paramètres de votre dépôt ou de votre organisation, sous GitHub Apps, mais uniquement si vous ne l’utilisez pas pour une autre fonctionnalité de Claude, comme Code Review ou la correction automatique sur le web
Si vous avez configuré un fournisseur cloud, supprimez également les secrets du fournisseur, tels que AWS_ROLE_TO_ASSUME, les secrets GCP_* ou les secrets AZURE_*, et désinstallez la GitHub App personnalisée ainsi que ses secrets APP_ID et APP_PRIVATE_KEY.

Permissions de la GitHub App

La Claude GitHub App est partagée par toutes les fonctionnalités de Claude qui s’intègrent à GitHub, notamment la GitHub Action Claude Code, Code Review et la correction automatique des pull requests dans les sessions cloud. Une GitHub App possède un ensemble unique de permissions couvrant toutes ses fonctionnalités ; cet ensemble inclut donc certaines permissions que la GitHub Action Claude Code n’utilise pas. Lorsque vous installez l’application, vous accordez les permissions suivantes : L’ensemble de permissions peut également évoluer avant les fonctionnalités qui l’utilisent. Lorsque l’application demande une permission dont elle ne disposait pas auparavant, GitHub invite le propriétaire du compte à l’approuver (un propriétaire de l’organisation dans le cas d’une installation au niveau de l’organisation), et l’installation conserve ses anciennes permissions jusqu’à cette approbation. Par exemple, lorsque l’accès Actions passe de la lecture à l’écriture, l’application peut relancer des workflows au lieu de seulement consulter les exécutions et les logs ; GitHub demande donc au propriétaire d’approuver ce changement. Lorsque vous installez l’application, vous acceptez l’ensemble complet de ses permissions. GitHub ne vous permet pas d’en accepter seulement une partie. Si votre organisation n’autorise que les permissions utilisées par la GitHub Action Claude Code, créez plutôt une GitHub App personnalisée avec Contents, Issues et Pull requests, en suivant le guide de configuration de la GitHub Action Claude Code. Une application personnalisée ne couvre que la GitHub Action Claude Code. Code Review et la correction automatique sur le web nécessitent toujours l’application officielle. Pour en savoir plus sur la manière dont la GitHub Action Claude Code limite ce que Claude peut faire avec ces permissions, consultez la documentation de sécurité.

Modes interactif et automatisation

La GitHub Action Claude Code détecte comment s’exécuter à partir de votre configuration de workflow :
  • Mode interactif : lorsque le workflow ne fournit pas d’entrée prompt, Claude attend la phrase de déclenchement, @claude par défaut, dans un commentaire d’issue ou de pull request, dans une révision de pull request ou dans le corps ou le titre d’une issue nouvellement ouverte, puis répond à cette demande. La progression et les résultats apparaissent en tant que commentaire sur l’issue ou la PR de déclenchement.
  • Mode automatisation : lorsque le workflow fournit une entrée prompt, Claude s’exécute sans attendre une mention, soumis uniquement aux vérifications sur qui peut déclencher les exécutions. Par défaut, les résultats apparaissent dans le journal d’exécution du workflow plutôt qu’un commentaire. Claude peut publier sur l’issue ou la pull request lorsque le prompt le dirige et qu’il a un outil qui peut publier, comme dans l’exemple de révision de code.

Qui peut déclencher les exécutions

Dans les deux modes, la GitHub Action Claude Code exécute deux vérifications sur l’acteur de déclenchement avant que Claude ne commence, et l’exécution échoue lorsque l’une des deux vérifications la rejette :
  • Accès en écriture : sur les événements d’issue et de pull request, l’utilisateur de déclenchement doit avoir un accès en écriture au repository. Pour permettre à des utilisateurs spécifiques sans accès en écriture, définissez allowed_non_write_users et passez votre propre entrée github_token. Les événements qu’aucun utilisateur n’auteur, comme un déclencheur schedule, ignorent cette vérification.
  • Acteur humain : sur chaque événement, la GitHub Action Claude Code rejette un acteur bot à moins que vous le listiez dans allowed_bots, ce qui empêche les bots de déclencher Claude dans une boucle. Cette vérification s’applique également aux exécutions programmées, que GitHub attribue à un utilisateur du repository, généralement celui qui a modifié en dernier le calendrier cron du workflow. Si cet utilisateur est un bot, listez-le dans allowed_bots.

Exemples de cas d’usage

Le répertoire d’exemples contient des workflows prêts à l’emploi pour différents scénarios. Les exemples de cette page montrent l’authentification par clé API. Si vous vous authentifiez avec un abonnement Claude, remplacez la ligne anthropic_api_key dans n’importe quel exemple par claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}.

Répondre aux mentions @claude

Ce workflow exécute la GitHub Action Claude Code en mode interactif, donc Claude répond chaque fois que quelqu’un mentionne @claude dans un commentaire d’issue ou de PR.
Les parties de ce workflow qui ne sont pas du code standard :
  • id-token: write : requis pour l’authentification GitHub App par défaut de la GitHub Action Claude Code
  • actions: read : permet à Claude de lire les résultats CI sur les PRs
  • actions/checkout : donne à Claude une copie locale du repository pour travailler
  • if : empêche les runners de démarrer sur les commentaires qui ne mentionnent pas @claude. La GitHub Action Claude Code vérifie également la phrase de déclenchement elle-même avant de répondre
Une fois le workflow en place, mentionnez @claude dans n’importe quel commentaire d’issue ou de PR avec une demande :
Claude répond dans un commentaire sur la même issue ou PR et le met à jour au fur et à mesure qu’il travaille.

Exécuter une skill

L’entrée prompt accepte une invocation de skill ainsi que du texte brut :
  • Pour une skill dans le répertoire .claude/skills/ de votre repository, exécutez actions/checkout avant l’étape anthropics/claude-code-action pour que les fichiers de skill soient disponibles sur le runner, puis passez /skill-name comme prompt.
  • Pour une skill emballée dans un plugin, installez le plugin avec les entrées plugin_marketplaces et plugins, puis passez le /plugin-name:skill-name avec espace de noms comme prompt. L’entrée plugins prend plugin-name@marketplace-name, où le nom de la marketplace provient du manifeste de la marketplace elle-même plutôt que de l’URL de son repository.
Le workflow suivant installe le plugin code-review et exécute sa skill lorsqu’une pull request est ouverte, mise à jour, rouverte ou marquée comme prête pour révision. Il exécute le même plugin que le workflow de révision de la configuration rapide. Utilisez un workflow comme celui-ci lorsque vous voulez contrôler le prompt, le modèle et les déclencheurs vous-même. Pour les révisions automatiques sans maintenir un fichier de workflow, consultez Code Review. Sur les repositories publics, GitHub retient les secrets des exécutions déclenchées par des pull requests de fork, donc la révision s’exécute uniquement sur les pull requests des branches du même repository.
Deux lignes dans ce workflow contrôlent où la révision va :
  • --comment : Claude publie sa révision sur la pull request, en tant que commentaire en ligne sur chaque problème qu’il trouve ou en tant qu’un commentaire de résumé lorsqu’il n’en trouve aucun. Sans cela, Claude ne publie rien, et vous lisez les résultats dans le journal d’exécution du workflow.
  • claude_args : conservez cette ligne même si la frontmatter allowed-tools propre de la skill nomme le même outil, car la GitHub Action Claude Code démarre le serveur MCP qui publie les commentaires en ligne uniquement lorsque --allowedTools dans claude_args le nomme.
Claude ignore les pull requests brouillon et fermées, les pull requests qu’il juge ne pas avoir besoin d’une révision, comme les pull requests automatisées ou triviales, et les pull requests qui ont déjà un commentaire de Claude.

Exécuter selon un calendrier

Avec une entrée prompt, la GitHub Action Claude Code s’exécute en mode automatisation sur n’importe quel événement GitHub, y compris un calendrier cron. Pour un prompt en texte brut, Claude n’a pas d’accès shell ou API GitHub jusqu’à ce que vous accordiez les outils que le prompt nécessite, avec --allowedTools dans claude_args ou une règle permissions.allow dans l’entrée settings. Si vous invoquez une skill à la place, Claude peut utiliser les outils que sa frontmatter allowed-tools accorde. GitHub exécute les workflows programmés uniquement à partir de la branche par défaut et, dans les repositories publics, désactive le calendrier après 60 jours sans activité du repository. Ce workflow génère un rapport dans le journal d’exécution du workflow à 09:00 UTC chaque jour. Sa ligne claude_args passe les arguments CLI qui sélectionnent le modèle et permettent deux outils MCP GitHub. Claude lit les commits et les issues via l’API GitHub avec ces outils, donc vous pouvez omettre l’étape de checkout :

Bonnes pratiques

Définir les normes du projet dans CLAUDE.md

Créez un fichier CLAUDE.md à la racine de votre repository pour définir les directives de style de code, les critères de révision, les règles spécifiques au projet et les modèles préférés. Claude suit ces directives lors de la création de PRs et de la réponse aux demandes. Consultez la documentation de mémoire pour plus de détails.

Protéger vos credentials

Ne commitez jamais les clés API ou les tokens OAuth directement dans votre repository. Stockez-les toujours en tant que GitHub Secrets et référencez-les dans les workflows, par exemple anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}.
Accordez au workflow uniquement les permissions dont il a besoin et examinez les modifications de Claude avant de fusionner. Pour des conseils de sécurité incluant les permissions et l’authentification, consultez la documentation de sécurité de la GitHub Action Claude Code.

Gérer les coûts

Chaque exécution consomme deux types de ressources :
  • Minutes GitHub Actions : la GitHub Action Claude Code s’exécute sur les runners hébergés par GitHub, qui consomment vos minutes GitHub Actions. Consultez la documentation de facturation de GitHub pour les tarifs et les limites de minutes.
  • Tokens API : chaque interaction consomme des tokens en fonction de la longueur des prompts et des réponses, de la complexité des tâches et de la taille de la base de code. Consultez la page de tarification de Claude pour les tarifs actuels des tokens. Si vous vous authentifiez avec un token OAuth, les exécutions utilisent votre abonnement Claude au lieu de la facturation API.
Vous pouvez réduire les deux types de coûts en donnant à Claude un contexte plus clair et en limitant la quantité de travail que chaque exécution peut faire :
  • Écrivez des demandes @claude spécifiques pour que Claude ait besoin de moins de tours pour terminer
  • Utilisez les modèles d’issue pour fournir du contexte à l’avance
  • Gardez votre CLAUDE.md concis, car Claude le lit à chaque exécution
  • Définissez --max-turns dans claude_args pour limiter les itérations
  • Définissez les délais d’attente au niveau du workflow pour éviter les jobs qui s’exécutent indéfiniment
  • Utilisez les contrôles de concurrence de GitHub pour limiter les exécutions parallèles
Pour le suivi de l’utilisation dans votre organisation, consultez le tableau de bord d’analyse et la surveillance. Pour savoir comment l’utilisation est mesurée et facturée, consultez coûts.

Utiliser un fournisseur cloud

Par défaut, la GitHub Action Claude Code appelle l’API Claude directement avec votre clé API ou token OAuth. Pour acheminer l’inférence via votre propre compte cloud à la place, définissez l’entrée pour votre fournisseur et suivez Utiliser Claude Code GitHub Actions avec les fournisseurs cloud :
  • Amazon Bedrock : use_bedrock: "true"
  • Google Cloud’s Agent Platform : use_vertex: "true"
  • Microsoft Foundry : use_foundry: "true"
Avec les trois fournisseurs, vous vous authentifiez via la fédération d’identité OIDC au lieu d’une clé API Claude, donc vous ne stockez aucune credential cloud statique dans votre repository.

Dépannage

Claude ne répond pas aux commandes @claude

  • Vérifiez que la GitHub App est installée sur le repository
  • Vérifiez que les workflows sont activés pour le repository
  • Assurez-vous que votre clé API ou token OAuth est défini dans les secrets du repository
  • Confirmez que le commentaire contient @claude comme mot complet, pas /claude ou @claude-bot
  • Confirmez que l’utilisateur qui commente a un accès en écriture au repository. Consultez Qui peut déclencher les exécutions pour les exceptions

CI ne s’exécute pas sur les commits de Claude

  • GitHub ne déclenche pas les workflows sur les commits effectués avec le GITHUB_TOKEN par défaut. Si vous passez github_token: ${{ secrets.GITHUB_TOKEN }} à la GitHub Action Claude Code, supprimez-le pour qu’il s’authentifie en tant que Claude GitHub App, ou passez un token d’app personnalisé à la place
  • Vérifiez que les déclencheurs du workflow CI incluent les événements que les pushes de Claude produisent, comme push ou pull_request

Erreurs d’authentification

  • Confirmez que la clé API ou le token OAuth est valide en le testant localement avec claude avant de déboguer le workflow
  • Pour Bedrock, Agent Platform et Foundry, consultez la section dépannage de la page du fournisseur cloud
Pour plus de solutions, consultez la FAQ de la GitHub Action Claude Code.

Configuration avancée

Paramètres de l’action

Ce sont les entrées les plus couramment utilisées. Chacune correspond à une clé with: dans l’étape anthropics/claude-code-action. Pour la liste complète des entrées, consultez la référence de configuration de la GitHub Action Claude Code.

Passer les arguments CLI

Le paramètre claude_args accepte n’importe quel argument CLI Claude Code :
Arguments courants :
  • --max-turns : limiter le nombre de tours de conversation
  • --model : modèle à utiliser, par exemple claude-sonnet-5. Sans cet argument, la GitHub Action Claude Code utilise le modèle par défaut de Claude Code
  • --mcp-config : chemin vers la configuration MCP
  • --allowedTools : liste séparée par des virgules des outils autorisés. L’alias --allowed-tools fonctionne également
  • --debug : activer la sortie de débogage

Mettre à niveau depuis la version bêta

Si vos workflows font toujours référence à anthropics/claude-code-action@beta, mettez-les à jour vers v1 :
  1. Changez @beta en @v1 dans la ligne uses
  2. Supprimez l’entrée mode, car la GitHub Action Claude Code détecte maintenant le mode automatiquement
  3. Remplacez direct_prompt par prompt
  4. Déplacez les options CLI telles que max_turns et model dans claude_args. custom_instructions n’a pas de flag de même nom et devient --append-system-prompt
Pour le mappage complet des entrées et les exemples avant et après, consultez le guide de migration.

Prochaines étapes