@claude in un commento di pull request o issue per fare in modo che Claude analizzi il codice, implementi modifiche e spinga commit. Puoi anche fornire al Claude Code GitHub Action un prompt per eseguirlo automaticamente su qualsiasi evento GitHub. Usalo per trasformare issue in pull request, correggere bug da un commento o automatizzare attività ricorrenti.
Diversi prodotti condividono il nome Claude Code. Questa pagina copre l’integrazione del flusso di lavoro claude-code-action, che configuri con file di flusso di lavoro nel tuo repository. Per i prodotti correlati, vedi:
- Code Review: revisione automatica su ogni pull request, senza scrivere un flusso di lavoro
- Claude Code nel cloud: sessioni di Claude Code che vengono eseguite su infrastruttura cloud invece che sulla tua macchina
- Claude Agent SDK: automazione personalizzata al di fuori di GitHub Actions. Il Claude Code GitHub Action è costruito sull’SDK
- GitHub Enterprise Server: Claude Code con GitHub auto-ospitato
Setup
Puoi configurare il Claude Code GitHub Action in uno di due modi:- Setup rapido: esegui
/install-github-appda Claude Code. Claude Code installa l’app GitHub, aggiunge il tuo secret di autenticazione e prepara la pull request del flusso di lavoro per te - Setup manuale: installa l’app, aggiungi il secret e copia il file del flusso di lavoro nel tuo repository da solo. Usa questo percorso quando non esegui Claude Code localmente, quando il comando fallisce o quando vuoi il controllo completo dei file di flusso di lavoro
Setup rapido
/install-github-app funziona solo con repository github.com. Se il git remote del tuo repository è su gitlab.com o bitbucket.org, il comando stampa un avviso ed esce invece di avviare la configurazione. Per eseguire Claude Code da pipeline GitLab, vedi Claude Code GitLab CI/CD.
Prima di iniziare, installa la GitHub CLI e autenticala con gh auth login. Claude Code la cerca e ti avverte se manca.
Apri claude nel repository che vuoi connettere, esegui /install-github-app e segui i prompt. Claude Code installa l’app GitHub di Claude, quindi configura un secret di autenticazione per i flussi di lavoro:
- Se Claude Code ha già una chiave API, la riutilizza e offre di mantenere il secret
ANTHROPIC_API_KEYesistente del repository se uno è già impostato - Altrimenti, scegli tra creare un token di lunga durata con la tua sottoscrizione Claude e incollare una chiave API
ANTHROPIC_API_KEY per una chiave API o CLAUDE_CODE_OAUTH_TOKEN per un token di sottoscrizione.
Claude Code quindi spinge un ramo con i file di flusso di lavoro che selezioni, già impostati per usare quel secret, e apre GitHub nel tuo browser con una pull request pronta per essere creata. Crea e unisci quella pull request, e @claude funziona nel repository.
Se selezioni il flusso di lavoro di revisione, Claude pubblica ogni revisione sulla pull request stessa, come commento inline su ogni problema che trova o come un commento di riepilogo quando non ne trova nessuno. Claude salta alcune pull request, come le bozze. L’esempio del flusso di lavoro di revisione usa la stessa skill e le elenca. Prima della v2.1.229, Claude scriveva la sua revisione solo nel log di esecuzione del flusso di lavoro.
Per aggiornare un flusso di lavoro di revisione che una versione precedente ha generato, fai uno dei seguenti:
- Esegui
/install-github-appdi nuovo. Quando il repository ha già unclaude.yml, seleziona Update workflow file with latest version. Claude Code spinge copie fresche dei file di flusso di lavoro a un nuovo ramo e apre la pull request, come un primo install. - Aggiungi l’argomento
--commente la rigaclaude_argsdall’esempio del flusso di lavoro di revisione al file archiviato da solo, che mantiene qualsiasi altra modifica che hai fatto ad esso.
/install-github-app di nuovo in seguito per completare i passaggi del flusso di lavoro e del secret.
- Quando installi l’app GitHub, le concedi diverse autorizzazioni. Vedi Autorizzazioni dell’app GitHub per l’insieme completo
- Lo setup rapido funziona con l’API Claude e le sottoscrizioni Claude. Se usi Amazon Bedrock, Google Cloud’s Agent Platform o Microsoft Foundry, vedi Usa Claude Code GitHub Actions con provider cloud
Setup manuale
Per configurare il Claude Code GitHub Action senza eseguire/install-github-app, installa l’app, aggiungi un secret e copia un file di flusso di lavoro da solo:
1
Installa l'app GitHub di Claude
Installa l’app GitHub di Claude nel tuo repository. Il Claude Code GitHub Action si basa su tre delle autorizzazioni dell’app:
- Contents: lettura e scrittura, in modo che Claude possa modificare i file del repository
- Issues: lettura e scrittura, in modo che Claude possa rispondere ai problemi
- Pull requests: lettura e scrittura, in modo che Claude possa creare PR e spingere modifiche
2
Aggiungi un secret di autenticazione
Aggiungi uno dei seguenti secret al tuo repository, a seconda di come ti autentichi. Vedi la guida di GitHub su utilizzo dei secret in GitHub Actions.
ANTHROPIC_API_KEY: una chiave API Claude dalla Claude ConsoleCLAUDE_CODE_OAUTH_TOKEN: un token OAuth che si autentica con la tua sottoscrizione Claude, disponibile su piani Pro, Max, Team ed Enterprise. Generane uno eseguendoclaude setup-tokenlocalmente. Vedi Genera un token di lunga durata
anthropic_api_key per una chiave API, o claude_code_oauth_token per un token OAuth.3
Copia il file del flusso di lavoro
Copia examples/claude.yml nella directory
.github/workflows/ del tuo repository. Il file è un flusso di lavoro funzionante, non solo un esempio. Come archiviato, Claude risponde ogni volta che qualcuno menziona @claude in un issue o pull request, autenticandosi con il secret ANTHROPIC_API_KEY. Se hai aggiunto CLAUDE_CODE_OAUTH_TOKEN invece, cambia la riga anthropic_api_key del flusso di lavoro in claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}.Configura per un’organizzazione
Con lo setup rapido o lo setup manuale, configuri un repository alla volta. Per implementare il Claude Code GitHub Action in un’organizzazione:- Installa l’app GitHub di Claude una volta a livello di organizzazione, scegliendo tutti i repository o un elenco selezionato
- Archivia il secret di autenticazione come secret di Actions a livello di organizzazione in modo che ogni repository non abbia bisogno della sua copia
- Aggiungi il file di flusso di lavoro a ogni repository che dovrebbe eseguire il Claude Code GitHub Action, o definisci il job una volta come flusso di lavoro riutilizzabile che ogni repository chiama
claude setup-token.
Per evitare di archiviare un secret di lunga durata del tutto, autenticati tramite workload identity federation, dove il Claude Code GitHub Action scambia il token GitHub OpenID Connect (OIDC) del flusso di lavoro per l’accesso all’API Claude tramite un account di servizio della Claude Console. Imposta questi input:
anthropic_federation_rule_id: l’ID della regola di federazione,fdrl_...anthropic_organization_id: il tuo ID organizzazione Anthropicanthropic_service_account_id: l’ID dell’account di servizio,svac_.... Opzionale, poiché la regola di federazione che crei nella Console già mira a un account di servizioanthropic_workspace_id: l’ID dell’area di lavoro,wrkspc_.... Opzionale quando la regola di federazione mira a un’unica area di lavoro
id-token: write, che il Claude Code GitHub Action necessita per lo scambio di federazione anche quando passi il tuo github_token. Vedi la guida di configurazione del Claude Code GitHub Action per la configurazione lato Console.
Per domande sulla gestione dei dati e la conservazione in una revisione della sicurezza, vedi utilizzo dei dati e sicurezza.
Disinstalla
Per rimuovere il Claude Code GitHub Action, annulla ogni pezzo della configurazione che si applica alla tua installazione:- File di flusso di lavoro: elimina i flussi di lavoro che usano
anthropics/claude-code-actionda.github/workflows/. Se hai usato lo setup rapido, cercaclaude.ymle, se hai selezionato il flusso di lavoro di revisione,claude-code-review.yml. Con i flussi di lavoro eliminati, il Claude Code GitHub Action non viene più eseguito - Secret: elimina il secret
ANTHROPIC_API_KEYoCLAUDE_CODE_OAUTH_TOKENdal repository e dai secret di Actions a livello di organizzazione se l’hai condiviso tra repository. Se elimini un secret, le credenziali che conteneva rimangono valide. Per ritirare completamente una chiave API, elimina anche la chiave nella Claude Console - App GitHub: disinstalla l’app GitHub di Claude nelle impostazioni del tuo repository o organizzazione sotto GitHub Apps, ma solo se non la usi per un’altra funzionalità Claude, come Code Review o web auto-fix
AWS_ROLE_TO_ASSUME, i secret GCP_* o i secret AZURE_*, e disinstalla l’app GitHub personalizzata insieme ai suoi secret APP_ID e APP_PRIVATE_KEY.
Autorizzazioni dell’app GitHub
L’app GitHub di Claude è condivisa da ogni funzionalità Claude che si integra con GitHub, incluso il Claude Code GitHub Action, Code Review e auto-fix per pull request in sessioni cloud. Un’app GitHub ha un singolo set di autorizzazioni che copre tutte le sue funzionalità, quindi l’insieme include alcune autorizzazioni che il Claude Code GitHub Action non usa. Quando installi l’app, concedi le seguenti autorizzazioni:
L’insieme di autorizzazioni può anche cambiare prima delle funzionalità che lo usano. Quando l’app richiede un’autorizzazione che non aveva prima, GitHub chiede al proprietario dell’account di approvarla, a un proprietario dell’organizzazione per un’installazione dell’organizzazione, e l’installazione mantiene le sue vecchie autorizzazioni finché non lo fanno. Ad esempio, quando l’accesso di Actions cambia da lettura a scrittura, l’app può rieseguire i flussi di lavoro piuttosto che solo visualizzare esecuzioni e log, quindi GitHub chiede al proprietario di approvare il cambiamento.
Quando installi l’app, accetti il suo set di autorizzazioni completo. GitHub non ti consente di accettare un sottoinsieme. Se la tua organizzazione richiede solo le autorizzazioni che il Claude Code GitHub Action usa, crea un’app GitHub personalizzata con Contents, Issues e Pull requests invece, seguendo la guida di configurazione del Claude Code GitHub Action. Un’app personalizzata copre solo il Claude Code GitHub Action. Code Review e web auto-fix richiedono ancora l’app ufficiale.
Per dettagli su come il Claude Code GitHub Action limita ciò che Claude può fare con queste autorizzazioni, vedi la documentazione sulla sicurezza.
Modalità interattiva e automazione
Il Claude Code GitHub Action rileva come eseguire dalla tua configurazione del flusso di lavoro:- Modalità interattiva: quando il flusso di lavoro non fornisce alcun input
prompt, Claude attende la frase trigger,@claudeper impostazione predefinita, in un commento di issue o pull request, in una revisione di pull request o nel corpo o titolo di un issue appena aperto, quindi risponde a quella richiesta. L’avanzamento e i risultati appaiono come commento sull’issue o PR che ha attivato. - Modalità automazione: quando il flusso di lavoro fornisce un input
prompt, Claude viene eseguito senza attendere una menzione, soggetto solo ai controlli su chi può attivare le esecuzioni. Per impostazione predefinita, i risultati appaiono nel log di esecuzione del flusso di lavoro piuttosto che in un commento. Claude può pubblicare sull’issue o pull request quando il prompt lo dirige e ha uno strumento che può pubblicare, come nell’esempio di code-review.
Chi può attivare le esecuzioni
In entrambe le modalità, il Claude Code GitHub Action esegue due controlli sull’attore che attiva prima che Claude inizi, e l’esecuzione fallisce quando uno dei due controlli lo rifiuta:- Accesso in scrittura: su eventi di issue e pull request, l’utente che attiva deve avere accesso in scrittura al repository. Per consentire utenti specifici senza accesso in scrittura, imposta
allowed_non_write_userse passa il tuo inputgithub_token. Gli eventi che nessun utente crea, come un triggerschedule, saltano questo controllo. - Attore umano: su ogni evento, il Claude Code GitHub Action rifiuta un attore bot a meno che non lo elenchi in
allowed_bots, che impedisce ai bot di attivare Claude in un ciclo. Questo controllo si applica anche alle esecuzioni programmate, che GitHub attribuisce a un utente del repository, di solito quello che ha modificato per ultimo il programmacrondel flusso di lavoro. Se quell’utente è un bot, elencalo inallowed_bots.
Casi d’uso di esempio
La directory degli esempi contiene flussi di lavoro pronti all’uso per diversi scenari. Gli esempi in questa pagina mostrano l’autenticazione con chiave API. Se ti autentichi con una sottoscrizione Claude, sostituisci la rigaanthropic_api_key in qualsiasi esempio con claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}.
Rispondi alle menzioni @claude
Questo flusso di lavoro esegue il Claude Code GitHub Action in modalità interattiva, in modo che Claude risponda ogni volta che qualcuno menziona@claude in un commento di issue o PR.
id-token: write: richiesto per l’autenticazione dell’app GitHub predefinita del Claude Code GitHub Actionactions: read: consente a Claude di leggere i risultati CI su PRactions/checkout: fornisce a Claude una copia locale del repository su cui lavorareif: impedisce ai runner di avviarsi su commenti che non menzionano@claude. Il Claude Code GitHub Action controlla anche la frase trigger stessa prima di rispondere
@claude in qualsiasi commento di issue o PR con una richiesta:
Esegui una skill
L’inputprompt accetta un’invocazione di skill così come testo semplice:
- Per una skill nella directory
.claude/skills/del tuo repository, eseguiactions/checkoutprima del passoanthropics/claude-code-actionin modo che i file della skill siano disponibili sul runner, quindi passa/skill-namecomeprompt. - Per una skill inclusa in un plugin, installa il plugin con gli input
plugin_marketplaceseplugins, quindi passa lo/plugin-name:skill-namecon namespace comeprompt. L’inputpluginsaccettaplugin-name@marketplace-name, dove il nome del marketplace proviene dal manifesto del marketplace stesso piuttosto che dall’URL del suo repository.
code-review ed esegue la sua skill quando una pull request viene aperta, aggiornata, riaperta o contrassegnata come pronta per la revisione. Esegue lo stesso plugin del flusso di lavoro di revisione dallo setup rapido. Usa un flusso di lavoro come questo quando vuoi controllare il prompt, il modello e i trigger da solo. Per revisioni automatiche senza mantenere un file di flusso di lavoro, vedi Code Review. Su repository pubblici, GitHub trattiene i secret dalle esecuzioni attivate da pull request di fork, quindi la revisione viene eseguita solo su pull request da rami nello stesso repository.
--comment: Claude pubblica la sua revisione sulla pull request, come commento inline su ogni problema che trova o come un commento di riepilogo quando non ne trova nessuno. Senza di esso, Claude non pubblica nulla e leggi i risultati nel log di esecuzione del flusso di lavoro.claude_args: mantieni questa riga anche se il frontmatterallowed-toolsdella skill stessa nomina lo stesso strumento, perché il Claude Code GitHub Action avvia il server MCP che pubblica commenti inline solo quando--allowedToolsinclaude_argslo nomina.
Esegui su una pianificazione
Con un inputprompt, il Claude Code GitHub Action viene eseguito in modalità automazione su qualsiasi evento GitHub, inclusa una pianificazione cron. Per un prompt in testo semplice, Claude non ha accesso a shell o API GitHub finché non concedi gli strumenti che il prompt necessita, con --allowedTools in claude_args o una regola permissions.allow nell’input settings. Se invochi una skill invece, Claude può usare gli strumenti che il suo frontmatter allowed-tools concede. GitHub esegue i flussi di lavoro pianificati solo dal ramo predefinito e, nei repository pubblici, disabilita la pianificazione dopo 60 giorni senza attività del repository.
Questo flusso di lavoro genera un rapporto nel log di esecuzione del flusso di lavoro alle 09:00 UTC ogni giorno. La sua riga claude_args passa argomenti CLI che selezionano il modello e consentono due strumenti MCP GitHub. Claude legge commit e issue tramite l’API GitHub con quegli strumenti, quindi puoi omettere il passo di checkout:
Best practice
Definisci gli standard del progetto in CLAUDE.md
Crea un fileCLAUDE.md nella radice del tuo repository per definire linee guida di stile del codice, criteri di revisione, regole specifiche del progetto e pattern preferiti. Claude segue queste linee guida quando crea PR e risponde alle richieste. Vedi la documentazione sulla memoria per i dettagli.
Proteggi le tue credenziali
Concedi al flusso di lavoro solo le autorizzazioni di cui ha bisogno e rivedi le modifiche di Claude prima di unire. Per una guida completa sulla sicurezza inclusa autorizzazioni e autenticazione, vedi la documentazione sulla sicurezza di Claude Code Action.Gestisci i costi
Ogni esecuzione consuma due tipi di risorse:- Minuti di GitHub Actions: il Claude Code GitHub Action viene eseguito su runner ospitati da GitHub, che consumano i tuoi minuti di GitHub Actions. Vedi la documentazione sulla fatturazione di GitHub per i prezzi e i limiti di minuti.
- Token API: ogni interazione consuma token in base alla lunghezza dei prompt e delle risposte, alla complessità dell’attività e alla dimensione della codebase. Vedi la pagina dei prezzi di Claude per i tassi di token attuali. Se ti autentichi con un token OAuth, le esecuzioni usano la tua sottoscrizione Claude invece della fatturazione API.
- Scrivi richieste specifiche
@claudein modo che Claude abbia bisogno di meno turni per finire - Usa template di issue per fornire contesto in anticipo
- Mantieni il tuo
CLAUDE.mdconciso, poiché Claude lo legge su ogni esecuzione - Imposta
--max-turnsinclaude_argsper limitare le iterazioni - Imposta timeout a livello di flusso di lavoro per evitare job fuori controllo
- Usa i controlli di concorrenza di GitHub per limitare le esecuzioni parallele
Usa un provider cloud
Per impostazione predefinita, il Claude Code GitHub Action chiama direttamente l’API Claude con la tua chiave API o token OAuth. Per instradare l’inferenza attraverso il tuo account cloud invece, imposta l’input per il tuo provider e segui Usa Claude Code GitHub Actions con provider cloud:- Amazon Bedrock:
use_bedrock: "true" - Google Cloud’s Agent Platform:
use_vertex: "true" - Microsoft Foundry:
use_foundry: "true"
Troubleshooting
Claude non risponde ai comandi @claude
- Verifica che l’app GitHub sia installata sul repository
- Controlla che i flussi di lavoro siano abilitati per il repository
- Assicurati che la tua chiave API o token OAuth sia impostato nei secret del repository
- Conferma che il commento contenga
@claudecome parola completa, non/claudeo@claude-bot - Conferma che l’utente che commenta ha accesso in scrittura al repository. Vedi Chi può attivare le esecuzioni per le eccezioni
CI non in esecuzione sui commit di Claude
- GitHub non attiva i flussi di lavoro sui commit effettuati con il
GITHUB_TOKENpredefinito. Se passigithub_token: ${{ secrets.GITHUB_TOKEN }}al Claude Code GitHub Action, rimuovilo in modo che si autentichi come l’app GitHub di Claude, o passa un token di app personalizzato invece - Controlla che i trigger del flusso di lavoro CI includano gli eventi che i push di Claude producono, come
pushopull_request
Errori di autenticazione
- Conferma che la chiave API o il token OAuth sia valido testando localmente con
claudeprima di eseguire il debug del flusso di lavoro - Per Bedrock, Agent Platform e Foundry, vedi la sezione troubleshooting della pagina del provider cloud
Configurazione avanzata
Parametri dell’action
Questi sono gli input più comunemente usati. Ognuno corrisponde a una chiavewith: nel passo anthropics/claude-code-action.
Per l’elenco completo degli input, vedi il riferimento di configurazione del Claude Code GitHub Action.
Passa argomenti CLI
Il parametroclaude_args accetta qualsiasi argomento CLI di Claude Code:
--max-turns: limita il numero di turni di conversazione--model: modello da usare, ad esempioclaude-sonnet-5. Senza questo argomento, il Claude Code GitHub Action usa il modello predefinito di Claude Code--mcp-config: percorso alla configurazione MCP--allowedTools: elenco separato da virgole degli strumenti consentiti. L’alias--allowed-toolsfunziona anche--debug: abilita l’output di debug
Aggiorna dalla versione beta
Se i tuoi flussi di lavoro fanno ancora riferimento aanthropics/claude-code-action@beta, aggiornali a v1:
- Cambia
@betaa@v1nella rigauses - Rimuovi l’input
mode, poiché il Claude Code GitHub Action ora rileva la modalità automaticamente - Sostituisci
direct_promptconprompt - Sposta le opzioni CLI come
max_turnsemodelinclaude_args.custom_instructionsnon ha un flag con lo stesso nome e diventa--append-system-prompt
Cosa c’è dopo
- Usa Claude Code GitHub Actions con provider cloud: instrada l’inferenza attraverso Amazon Bedrock, Google Cloud’s Agent Platform o Microsoft Foundry
- Riferimento di configurazione: l’elenco completo degli input dell’action
- Directory degli esempi: flussi di lavoro pronti all’uso per più scenari
- Code Review: revisione automatica della pull request senza mantenere un file di flusso di lavoro