---
title: Claude Code GitHub Actions | RunAPI
description: Configura Claude Code GitHub Actions con un secret RunAPI, un modello,
  permessi, trigger e un workflow minimale.
url: https://runapi.ai/it/docs/resources/tool-integrations/claude-code-github-actions.md
canonical: https://runapi.ai/it/docs/resources/tool-integrations/claude-code-github-actions
locale: it
---

> Versione HTML: https://runapi.ai/it/docs/resources/tool-integrations/claude-code-github-actions
> Indice del sito per gli agenti: https://runapi.ai/llms.txt

# Claude Code GitHub Actions

## Panoramica

La `anthropics/claude-code-action` ufficiale esegue Claude Code in un
flusso di lavoro di GitHub Actions. Questa guida memorizza una chiave RunAPI come segreto GitHub,
impostando il Base URL non sensibile nelle impostazioni di Claude Code, seleziona
un modello e risponde ai commenti `@claude` autorizzati.

## Prima di iniziare

* È necessario avere accesso da amministratore del repository per installare
  la Claude GitHub App, creare i segreti di Actions e aggiungere un workflow.
* Crea una Chiave API RunAPI standard seguendo la [Guida
  introduttiva all'Autenticazione](https://runapi.ai/it/docs/guides/authentication.md).
* Copia un identificatore di modello che supporta Anthropic Messages dal
  [Catalogo modelli](https://runapi.ai/it/models).
* Consulta la [configurazione di Claude Code GitHub Actions][1] e la policy
  sui workflow della tua organizzazione.



[1]: https://code.claude.com/docs/en/github-actions

## Installa

Da Claude Code nel repository di destinazione, esegui `/install-github-app` e
segui le istruzioni per installare l'app GitHub. Quando offre di creare
credenziali Anthropic, fermati prima di salvarne una: questa guida utilizza
un segreto di repository o organizzazione RunAPI.

Per la configurazione manuale, installa la [Claude GitHub App][1], quindi aggiungi il
workflow seguente in `.github/workflows/claude.yml`.



[1]: https://github.com/apps/claude

## Configura RunAPI

Crea un secret Actions per un repository o un'organizzazione denominato
`RUNAPI_API_KEY`. Passalo solo tramite l'input secret dell'action:

```yaml
anthropic_api_key: ${{ secrets.RUNAPI_API_KEY }}
```

Non inserire la chiave nel file del workflow né nel JSON `settings` dell'action.
L'action elabora le impostazioni separatamente; solo il Base
URL non sensibile appartiene lì.

Il seguente flusso di lavoro interattivo minimale è in ascolto di nuovi commenti su issue e
revisioni di pull request:

```yaml
name: Claude Code

on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]

jobs:
  claude:
    if: contains(github.event.comment.body, '@claude')
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
      issues: write
      id-token: write
      actions: read
    steps:
      - uses: actions/checkout@v6
        with:
          fetch-depth: 1
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.RUNAPI_API_KEY }}
          settings: |
            {
              "env": {
                "ANTHROPIC_BASE_URL": "https://runapi.ai"
              }
            }
          claude_args: "--model YOUR_RUNAPI_MODEL_ID"
```

### Segreti

GitHub non passa i normali segreti di Actions ai flussi di lavoro attivati
da pull request di fork o da eventi Dependabot. Se un'esecuzione non ha
credenziali, conferma la sorgente dell'evento prima di ruotare la chiave RunAPI. Utilizza
la [guida ai segreti di Actions][1] di GitHub per l'ambito di repository e organizzazione.



[1]: https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets

### Autorizzazioni

* `contents: write` consente all'azione di eseguire il commit delle
  modifiche al codice.
* `pull-requests: write` e `issues: write` le permettono di leggere e
  rispondere alla conversazione che ha avviato il trigger.
* `id-token: write` supporta l'Autenticazione predefinita tramite GitHub
  App dell'azione.
* `actions: read` le consente di esaminare i risultati del workflow.

Usa queste autorizzazioni esplicite al posto di `write-all`. Rimuovi le funzionalità non necessarie al tuo workflow.

### Eventi di attivazione

`issue_comment` riguarda i commenti nelle issue e nelle conversazioni delle pull request; `pull_request_review_comment` riguarda i commenti sulle righe di diff. Il file del workflow deve esistere nel branch predefinito affinché `issue_comment` possa attivarlo. L'azione verifica anche chi ha avviato l'esecuzione; utilizzare il [comportamento di sicurezza ufficiale][1] come riferimento canonico.



[1]: https://code.claude.com/docs/en/github-actions#who-can-trigger-runs

## Scegli un modello

Sostituisci `YOUR_RUNAPI_MODEL_ID` in `claude_args` con l'identificatore esatto
dal [Catalogo modelli](https://runapi.ai/it/models). Mantenere la selezione del modello
al di fuori di `settings.env` rende il modello scelto dal workflow visibile nella
configurazione dell'azione.

## Verifica

1.  Verifica che il segreto `RUNAPI_API_KEY` esista senza stamparne il
    valore.
2.  Effettua il merge del workflow nel branch predefinito e verifica che
    le Actions siano abilitate.
3.  Da un account con accesso in scrittura al repository, aggiungi
    `@claude describe
    this repository in one sentence` a un commento
    di una issue.
4.  Apri l'esecuzione del workflow, verifica che l'azione abbia esito
    positivo e controlla che Claude risponda nella stessa issue.

## Risoluzione dei problemi

* **Nessun workflow si avvia:** conferma che il file si trovi sul branch predefinito, che l'evento di commento corrisponda e che Actions sia abilitato.
* **Il job viene saltato:** conferma che il commento contenga `@claude` e che l'autore abbia l'accesso richiesto al repository.
* **L'autenticazione non riesce:** conferma che il workflow faccia riferimento a `secrets.RUNAPI_API_KEY`, quindi ruota la chiave tramite la [Authentication Guide](https://runapi.ai/it/docs/guides/authentication.md) se necessario.
* **Una pull request da fork non può usare la chiave:** GitHub trattiene intenzionalmente i secret ordinari dalle esecuzioni avviate da fork. Non sostituire il secret con un valore letterale.
* **Il modello non è disponibile:** copia l'identificatore esatto dal [Model Catalog](https://runapi.ai/it/models).
* **I commit di Claude non avviano un altro workflow:** consulta la [risoluzione dei problemi del token GitHub][1] dell'action ufficiale.



[1]: https://code.claude.com/docs/en/github-actions#ci-not-running-on-claudes-commits

## Passaggi successivi

Usa la [guida introduttiva all'LLM API](https://runapi.ai/it/docs/guides/llm-api/quickstart.md) per il
comportamento del protocollo e il [Riferimento API Anthropic Messages](https://runapi.ai/it/docs/api/anthropic/messages.md) per i campi di richiesta. Per ulteriori
trigger e input di azione, usa gli [esempi ufficiali][1] e il
[riferimento alla configurazione][2].



[1]: https://github.com/anthropics/claude-code-action/tree/main/examples
[2]: https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md

---

## Altre risorse di RunAPI

- [Home](https://runapi.ai/it/.md)
- [Catalogo dei modelli](https://runapi.ai/it/models.md)
- [Prezzi](https://runapi.ai/it/pricing.md)
- [Fornitori](https://runapi.ai/it/models)
- [Documentazione](https://runapi.ai/it/docs/guides)
- [SDK](https://runapi.ai/it/sdk.md)
- [CLI](https://runapi.ai/it/cli.md)
- [MCP Server](https://runapi.ai/it/mcp.md)
- [Claude Code vs Cursor](https://runapi.ai/it/claude-code-vs-cursor.md)
- [Configurazione Cursor API](https://runapi.ai/it/cursor-api-setup.md)
- [RunAPI vs OpenRouter](https://runapi.ai/it/openrouter-alternative.md)
- [Enterprise](https://runapi.ai/it/contact.md)
- [Contatti](https://runapi.ai/it/contact.md)
- [Termini](https://runapi.ai/it/terms.md)
- [Privacy](https://runapi.ai/it/privacy.md)
- [Indice del sito per gli agenti](https://runapi.ai/llms.txt)

Contatti: contact@runapi.ai

## Dati strutturati

```json
[
  {
    "@context": "https://schema.org",
    "inLanguage": "it",
    "@type": "WebSite",
    "name": "RunAPI",
    "url": "https://runapi.ai/it",
    "potentialAction": {
      "@type": "SearchAction",
      "target": {
        "@type": "EntryPoint",
        "urlTemplate": "https://runapi.ai/it/models?q={search_term_string}"
      },
      "query-input": "required name=search_term_string"
    }
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "it",
    "@type": "Organization",
    "name": "RunAPI",
    "url": "https://runapi.ai/it",
    "logo": {
      "@type": "ImageObject",
      "url": "https://runapi.ai/iticon.svg"
    },
    "sameAs": [
      "https://github.com/runapi-ai"
    ]
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "it",
    "@type": "TechArticle",
    "headline": "Claude Code GitHub Actions",
    "description": "Configura Claude Code GitHub Actions con un secret RunAPI, un modello, permessi, trigger e un workflow minimale.",
    "url": "https://runapi.ai/it/docs/resources/tool-integrations/claude-code-github-actions",
    "mainEntityOfPage": "https://runapi.ai/it/docs/resources/tool-integrations/claude-code-github-actions"
  }
]
```
