Pular para o conteúdo principal
Claude Code GitHub Actions traz automação alimentada por IA para seu fluxo de trabalho do GitHub. Com uma simples menção @claude em qualquer PR ou issue, Claude pode analisar seu código, criar pull requests, implementar recursos e corrigir bugs - tudo enquanto segue os padrões do seu projeto.
Claude Code GitHub Actions é construído sobre o Claude Code SDK, que permite integração programática do Claude Code em suas aplicações. Você pode usar o SDK para construir fluxos de trabalho de automação personalizados além do GitHub Actions.
Claude Opus 4.5 agora está disponível. Claude Code GitHub Actions usa Sonnet por padrão. Para usar Opus 4.5, configure o parâmetro model para usar claude-opus-4-5-20251101.

Por que usar Claude Code GitHub Actions?

  • Criação instantânea de PR: Descreva o que você precisa, e Claude cria um PR completo com todas as alterações necessárias
  • Implementação de código automatizada: Transforme issues em código funcional com um único comando
  • Segue seus padrões: Claude respeita suas diretrizes CLAUDE.md e padrões de código existentes
  • Configuração simples: Comece em minutos com nosso instalador e chave de API
  • Seguro por padrão: Seu código permanece nos runners do Github

O que Claude pode fazer?

Claude Code fornece uma poderosa GitHub Action que transforma como você trabalha com código:

Claude Code Action

Esta GitHub Action permite que você execute Claude Code dentro de seus fluxos de trabalho do GitHub Actions. Você pode usar isso para construir qualquer fluxo de trabalho personalizado sobre Claude Code. Ver repositório →

Configuração

Configuração rápida

A maneira mais fácil de configurar esta ação é através do Claude Code no terminal. Basta abrir claude e executar /install-github-app. Este comando o guiará através da configuração do aplicativo GitHub e dos segredos necessários.
  • Você deve ser um administrador do repositório para instalar o aplicativo GitHub e adicionar segredos
  • O aplicativo GitHub solicitará permissões de leitura e escrita para Contents, Issues e Pull requests
  • Este método de início rápido está disponível apenas para usuários diretos da Claude API. Se você está usando AWS Bedrock ou Google Vertex AI, consulte a seção Usando com AWS Bedrock & Google Vertex AI.

Configuração manual

Se o comando /install-github-app falhar ou você preferir configuração manual, siga estas instruções de configuração manual:
  1. Instale o aplicativo Claude GitHub em seu repositório: https://github.com/apps/claude O aplicativo Claude GitHub requer as seguintes permissões de repositório:
    • Contents: Leitura e escrita (para modificar arquivos do repositório)
    • Issues: Leitura e escrita (para responder a issues)
    • Pull requests: Leitura e escrita (para criar PRs e fazer push de alterações)
    Para mais detalhes sobre segurança e permissões, consulte a documentação de segurança.
  2. Adicione ANTHROPIC_API_KEY aos seus segredos do repositório (Aprenda como usar segredos no GitHub Actions)
  3. Copie o arquivo de fluxo de trabalho de examples/claude.yml para a pasta .github/workflows/ do seu repositório
Após concluir a configuração rápida ou manual, teste a ação marcando @claude em um comentário de issue ou PR.

Atualizando da Beta

Claude Code GitHub Actions v1.0 introduz mudanças significativas que exigem atualizar seus arquivos de fluxo de trabalho para fazer upgrade de v1.0 da versão beta.
Se você está usando a versão beta do Claude Code GitHub Actions, recomendamos que você atualize seus fluxos de trabalho para usar a versão GA. A nova versão simplifica a configuração enquanto adiciona recursos poderosos como detecção automática de modo.

Mudanças essenciais

Todos os usuários beta devem fazer essas alterações em seus arquivos de fluxo de trabalho para fazer upgrade:
  1. Atualize a versão da ação: Mude @beta para @v1
  2. Remova configuração de modo: Delete mode: "tag" ou mode: "agent" (agora detectado automaticamente)
  3. Atualize entradas de prompt: Substitua direct_prompt por prompt
  4. Mova opções de CLI: Converta max_turns, model, custom_instructions, etc. para claude_args

Referência de Mudanças Significativas

Entrada Beta AntigaNova Entrada v1.0
mode(Removido - detectado automaticamente)
direct_promptprompt
override_promptprompt com variáveis do GitHub
custom_instructionsclaude_args: --system-prompt
max_turnsclaude_args: --max-turns
modelclaude_args: --model
allowed_toolsclaude_args: --allowedTools
disallowed_toolsclaude_args: --disallowedTools
claude_envsettings formato JSON

Exemplo Antes e Depois

Versão beta:
- uses: anthropics/claude-code-action@beta
  with:
    mode: "tag"
    direct_prompt: "Review this PR for security issues"
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    custom_instructions: "Follow our coding standards"
    max_turns: "10"
    model: "claude-sonnet-4-5-20250929"
Versão GA (v1.0):
- uses: anthropics/claude-code-action@v1
  with:
    prompt: "Review this PR for security issues"
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    claude_args: |
      --system-prompt "Follow our coding standards"
      --max-turns 10
      --model claude-sonnet-4-5-20250929
A ação agora detecta automaticamente se deve executar em modo interativo (responde a menções @claude) ou modo de automação (executa imediatamente com um prompt) com base em sua configuração.

Exemplos de casos de uso

Claude Code GitHub Actions pode ajudá-lo com uma variedade de tarefas. O diretório de exemplos contém fluxos de trabalho prontos para uso em diferentes cenários.

Fluxo de trabalho básico

name: Claude Code
on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
jobs:
  claude:
    runs-on: ubuntu-latest
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          # Responds to @claude mentions in comments

Usando comandos de barra

name: Code Review
on:
  pull_request:
    types: [opened, synchronize]
jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          prompt: "/review"
          claude_args: "--max-turns 5"

Automação personalizada com prompts

name: Daily Report
on:
  schedule:
    - cron: "0 9 * * *"
jobs:
  report:
    runs-on: ubuntu-latest
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          prompt: "Generate a summary of yesterday's commits and open issues"
          claude_args: "--model claude-opus-4-5-20251101"

Casos de uso comuns

Em comentários de issue ou PR:
@claude implement this feature based on the issue description
@claude how should I implement user authentication for this endpoint?
@claude fix the TypeError in the user dashboard component
Claude analisará automaticamente o contexto e responderá apropriadamente.

Melhores práticas

Configuração CLAUDE.md

Crie um arquivo CLAUDE.md na raiz do seu repositório para definir diretrizes de estilo de código, critérios de revisão, regras específicas do projeto e padrões preferidos. Este arquivo guia a compreensão de Claude sobre os padrões do seu projeto.

Considerações de segurança

Nunca faça commit de chaves de API diretamente em seu repositório.
Para orientação abrangente de segurança incluindo permissões, autenticação e melhores práticas, consulte a documentação de segurança do Claude Code Action. Sempre use GitHub Secrets para chaves de API:
  • Adicione sua chave de API como um segredo do repositório nomeado ANTHROPIC_API_KEY
  • Referencie-a em fluxos de trabalho: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
  • Limite as permissões de ação apenas ao necessário
  • Revise as sugestões de Claude antes de fazer merge
Sempre use GitHub Secrets (por exemplo, ${{ secrets.ANTHROPIC_API_KEY }}) em vez de codificar chaves de API diretamente em seus arquivos de fluxo de trabalho.

Otimizando desempenho

Use modelos de issue para fornecer contexto, mantenha seu CLAUDE.md conciso e focado, e configure timeouts apropriados para seus fluxos de trabalho.

Custos de CI

Ao usar Claude Code GitHub Actions, esteja ciente dos custos associados: Custos do GitHub Actions:
  • Claude Code é executado em runners hospedados pelo GitHub, que consomem seus minutos do GitHub Actions
  • Consulte a documentação de faturamento do GitHub para preços detalhados e limites de minutos
Custos de API:
  • Cada interação com Claude consome tokens de API com base no comprimento de prompts e respostas
  • O uso de tokens varia pela complexidade da tarefa e tamanho da base de código
  • Consulte a página de preços do Claude para taxas de token atuais
Dicas de otimização de custos:
  • Use comandos específicos @claude para reduzir chamadas de API desnecessárias
  • Configure --max-turns apropriado em claude_args para evitar iterações excessivas
  • Defina timeouts no nível do fluxo de trabalho para evitar jobs descontrolados
  • Considere usar controles de concorrência do GitHub para limitar execuções paralelas

Exemplos de configuração

A Claude Code Action v1 simplifica a configuração com parâmetros unificados:
- uses: anthropics/claude-code-action@v1
  with:
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    prompt: "Your instructions here" # Optional
    claude_args: "--max-turns 5" # Optional CLI arguments
Recursos principais:
  • Interface de prompt unificada - Use prompt para todas as instruções
  • Comandos de barra - Prompts pré-construídos como /review ou /fix
  • Passagem de CLI - Qualquer argumento de CLI do Claude Code via claude_args
  • Gatilhos flexíveis - Funciona com qualquer evento do GitHub
Visite o diretório de exemplos para arquivos de fluxo de trabalho completos.
Ao responder a comentários de issue ou PR, Claude responde automaticamente a menções @claude. Para outros eventos, use o parâmetro prompt para fornecer instruções.

Usando com AWS Bedrock & Google Vertex AI

Para ambientes empresariais, você pode usar Claude Code GitHub Actions com sua própria infraestrutura de nuvem. Esta abordagem oferece controle sobre residência de dados e faturamento enquanto mantém a mesma funcionalidade.

Pré-requisitos

Antes de configurar Claude Code GitHub Actions com provedores de nuvem, você precisa:

Para Google Cloud Vertex AI:

  1. Um Projeto Google Cloud com Vertex AI ativado
  2. Workload Identity Federation configurado para GitHub Actions
  3. Uma conta de serviço com as permissões necessárias
  4. Um GitHub App (recomendado) ou use o GITHUB_TOKEN padrão

Para AWS Bedrock:

  1. Uma conta AWS com Amazon Bedrock ativado
  2. GitHub OIDC Identity Provider configurado na AWS
  3. Uma função IAM com permissões do Bedrock
  4. Um GitHub App (recomendado) ou use o GITHUB_TOKEN padrão
1

Crie um GitHub App personalizado (Recomendado para Provedores 3P)

Para melhor controle e segurança ao usar provedores 3P como Vertex AI ou Bedrock, recomendamos criar seu próprio GitHub App:
  1. Vá para https://github.com/settings/apps/new
  2. Preencha as informações básicas:
    • Nome do GitHub App: Escolha um nome único (por exemplo, “YourOrg Claude Assistant”)
    • URL da Homepage: Site da sua organização ou URL do repositório
  3. Configure as configurações do app:
    • Webhooks: Desmarque “Active” (não necessário para esta integração)
  4. Defina as permissões necessárias:
    • Permissões do Repositório:
      • Contents: Leitura e Escrita
      • Issues: Leitura e Escrita
      • Pull requests: Leitura e Escrita
  5. Clique em “Create GitHub App”
  6. Após a criação, clique em “Generate a private key” e salve o arquivo .pem baixado
  7. Anote seu App ID na página de configurações do app
  8. Instale o app em seu repositório:
    • Na página de configurações do seu app, clique em “Install App” na barra lateral esquerda
    • Selecione sua conta ou organização
    • Escolha “Only select repositories” e selecione o repositório específico
    • Clique em “Install”
  9. Adicione a chave privada como um segredo ao seu repositório:
    • Vá para Settings → Secrets and variables → Actions do seu repositório
    • Crie um novo segredo nomeado APP_PRIVATE_KEY com o conteúdo do arquivo .pem
  10. Adicione o App ID como um segredo:
  • Crie um novo segredo nomeado APP_ID com o ID do seu GitHub App
Este app será usado com a ação actions/create-github-app-token para gerar tokens de autenticação em seus fluxos de trabalho.
Alternativa para Claude API ou se você não quiser configurar seu próprio Github app: Use o app oficial da Anthropic:
  1. Instale de: https://github.com/apps/claude
  2. Nenhuma configuração adicional necessária para autenticação
2

Configure autenticação do provedor de nuvem

Escolha seu provedor de nuvem e configure autenticação segura:
Configure AWS para permitir que GitHub Actions se autentique com segurança sem armazenar credenciais.
Nota de Segurança: Use configurações específicas do repositório e conceda apenas as permissões mínimas necessárias.
Configuração Necessária:
  1. Ative Amazon Bedrock:
    • Solicite acesso aos modelos Claude no Amazon Bedrock
    • Para modelos entre regiões, solicite acesso em todas as regiões necessárias
  2. Configure GitHub OIDC Identity Provider:
    • URL do Provedor: https://token.actions.githubusercontent.com
    • Audience: sts.amazonaws.com
  3. Crie Função IAM para GitHub Actions:
    • Tipo de entidade confiável: Web identity
    • Provedor de identidade: token.actions.githubusercontent.com
    • Permissões: política AmazonBedrockFullAccess
    • Configure política de confiança para seu repositório específico
Valores Necessários:Após a configuração, você precisará:
  • AWS_ROLE_TO_ASSUME: O ARN da função IAM que você criou
OIDC é mais seguro do que usar chaves de acesso AWS estáticas porque as credenciais são temporárias e rotacionadas automaticamente.
Consulte a documentação AWS para instruções detalhadas de configuração de OIDC.
Configure Google Cloud para permitir que GitHub Actions se autentique com segurança sem armazenar credenciais.
Nota de Segurança: Use configurações específicas do repositório e conceda apenas as permissões mínimas necessárias.
Configuração Necessária:
  1. Ative APIs em seu projeto Google Cloud:
    • IAM Credentials API
    • Security Token Service (STS) API
    • Vertex AI API
  2. Crie recursos de Workload Identity Federation:
    • Crie um Workload Identity Pool
    • Adicione um provedor OIDC do GitHub com:
      • Issuer: https://token.actions.githubusercontent.com
      • Mapeamentos de atributos para repositório e proprietário
      • Recomendação de segurança: Use condições de atributo específicas do repositório
  3. Crie uma Conta de Serviço:
    • Conceda apenas a função Vertex AI User
    • Recomendação de segurança: Crie uma conta de serviço dedicada por repositório
  4. Configure vinculações IAM:
    • Permita que o Workload Identity Pool represente a conta de serviço
    • Recomendação de segurança: Use conjuntos de principais específicos do repositório
Valores Necessários:Após a configuração, você precisará:
  • GCP_WORKLOAD_IDENTITY_PROVIDER: O nome completo do recurso do provedor
  • GCP_SERVICE_ACCOUNT: O endereço de email da conta de serviço
Workload Identity Federation elimina a necessidade de chaves de conta de serviço baixáveis, melhorando a segurança.
Para instruções de configuração detalhadas, consulte a documentação de Workload Identity Federation do Google Cloud.
3

Adicione Segredos Necessários

Adicione os seguintes segredos ao seu repositório (Settings → Secrets and variables → Actions):

Para Claude API (Direto):

  1. Para Autenticação de API:
  2. Para GitHub App (se usar seu próprio app):
    • APP_ID: O ID do seu GitHub App
    • APP_PRIVATE_KEY: O conteúdo da chave privada (.pem)

Para Google Cloud Vertex AI

  1. Para Autenticação GCP:
    • GCP_WORKLOAD_IDENTITY_PROVIDER
    • GCP_SERVICE_ACCOUNT
  2. Para GitHub App (se usar seu próprio app):
    • APP_ID: O ID do seu GitHub App
    • APP_PRIVATE_KEY: O conteúdo da chave privada (.pem)

Para AWS Bedrock

  1. Para Autenticação AWS:
    • AWS_ROLE_TO_ASSUME
  2. Para GitHub App (se usar seu próprio app):
    • APP_ID: O ID do seu GitHub App
    • APP_PRIVATE_KEY: O conteúdo da chave privada (.pem)
4

Crie arquivos de fluxo de trabalho

Crie arquivos de fluxo de trabalho do GitHub Actions que se integrem com seu provedor de nuvem. Os exemplos abaixo mostram configurações completas para AWS Bedrock e Google Vertex AI:
Pré-requisitos:
  • Acesso AWS Bedrock ativado com permissões de modelo Claude
  • GitHub configurado como provedor de identidade OIDC na AWS
  • Função IAM com permissões do Bedrock que confia no GitHub Actions
Segredos necessários do GitHub:
Nome do SegredoDescrição
AWS_ROLE_TO_ASSUMEARN da função IAM para acesso ao Bedrock
APP_IDSeu ID de GitHub App (das configurações do app)
APP_PRIVATE_KEYA chave privada que você gerou para seu GitHub App
name: Claude PR Action

permissions:
  contents: write
  pull-requests: write
  issues: write
  id-token: write

on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
  issues:
    types: [opened, assigned]

jobs:
  claude-pr:
    if: |
      (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
      (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
      (github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
    runs-on: ubuntu-latest
    env:
      AWS_REGION: us-west-2
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Generate GitHub App token
        id: app-token
        uses: actions/create-github-app-token@v2
        with:
          app-id: ${{ secrets.APP_ID }}
          private-key: ${{ secrets.APP_PRIVATE_KEY }}

      - name: Configure AWS Credentials (OIDC)
        uses: aws-actions/configure-aws-credentials@v4
        with:
          role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
          aws-region: us-west-2

      - uses: anthropics/claude-code-action@v1
        with:
          github_token: ${{ steps.app-token.outputs.token }}
          use_bedrock: "true"
          claude_args: '--model us.anthropic.claude-sonnet-4-5-20250929-v1:0 --max-turns 10'
O formato de ID de modelo para Bedrock inclui o prefixo de região (por exemplo, us.anthropic.claude...) e sufixo de versão.
Pré-requisitos:
  • Vertex AI API ativada em seu projeto GCP
  • Workload Identity Federation configurada para GitHub
  • Conta de serviço com permissões do Vertex AI
Segredos necessários do GitHub:
Nome do SegredoDescrição
GCP_WORKLOAD_IDENTITY_PROVIDERNome do recurso do provedor de identidade de workload
GCP_SERVICE_ACCOUNTEmail da conta de serviço com acesso ao Vertex AI
APP_IDSeu ID de GitHub App (das configurações do app)
APP_PRIVATE_KEYA chave privada que você gerou para seu GitHub App
name: Claude PR Action

permissions:
  contents: write
  pull-requests: write
  issues: write
  id-token: write

on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
  issues:
    types: [opened, assigned]

jobs:
  claude-pr:
    if: |
      (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
      (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
      (github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Generate GitHub App token
        id: app-token
        uses: actions/create-github-app-token@v2
        with:
          app-id: ${{ secrets.APP_ID }}
          private-key: ${{ secrets.APP_PRIVATE_KEY }}

      - name: Authenticate to Google Cloud
        id: auth
        uses: google-github-actions/auth@v2
        with:
          workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }}
          service_account: ${{ secrets.GCP_SERVICE_ACCOUNT }}

      - uses: anthropics/claude-code-action@v1
        with:
          github_token: ${{ steps.app-token.outputs.token }}
          trigger_phrase: "@claude"
          use_vertex: "true"
          claude_args: '--model claude-sonnet-4@20250514 --max-turns 10'
        env:
          ANTHROPIC_VERTEX_PROJECT_ID: ${{ steps.auth.outputs.project_id }}
          CLOUD_ML_REGION: us-east5
          VERTEX_REGION_CLAUDE_3_7_SONNET: us-east5
O ID do projeto é recuperado automaticamente da etapa de autenticação do Google Cloud, portanto você não precisa codificá-lo.

Solução de problemas

Claude não responde a comandos @claude

Verifique se o GitHub App está instalado corretamente, verifique se os fluxos de trabalho estão ativados, certifique-se de que a chave de API está definida nos segredos do repositório e confirme que o comentário contém @claude (não /claude).

CI não está sendo executado nos commits de Claude

Certifique-se de que você está usando o GitHub App ou app personalizado (não usuário Actions), verifique se os gatilhos de fluxo de trabalho incluem os eventos necessários e verifique se as permissões do app incluem gatilhos de CI.

Erros de autenticação

Confirme que a chave de API é válida e tem permissões suficientes. Para Bedrock/Vertex, verifique a configuração de credenciais e certifique-se de que os segredos estão nomeados corretamente nos fluxos de trabalho.

Configuração avançada

Parâmetros de ação

A Claude Code Action v1 usa uma configuração simplificada:
ParâmetroDescriçãoNecessário
promptInstruções para Claude (texto ou comando de barra)Não*
claude_argsArgumentos de CLI passados para Claude CodeNão
anthropic_api_keyChave de API ClaudeSim**
github_tokenToken do GitHub para acesso à APINão
trigger_phraseFrase de gatilho personalizada (padrão: “@claude”)Não
use_bedrockUse AWS Bedrock em vez da Claude APINão
use_vertexUse Google Vertex AI em vez da Claude APINão
*Prompt é opcional - quando omitido para comentários de issue/PR, Claude responde à frase de gatilho
**Necessário para Claude API direto, não para Bedrock/Vertex

Passe argumentos de CLI

O parâmetro claude_args aceita qualquer argumento de CLI do Claude Code:
claude_args: "--max-turns 5 --model claude-sonnet-4-5-20250929 --mcp-config /path/to/config.json"
Argumentos comuns:
  • --max-turns: Máximo de turnos de conversa (padrão: 10)
  • --model: Modelo a usar (por exemplo, claude-sonnet-4-5-20250929)
  • --mcp-config: Caminho para configuração MCP
  • --allowed-tools: Lista separada por vírgula de ferramentas permitidas
  • --debug: Ativar saída de debug

Métodos de integração alternativos

Enquanto o comando /install-github-app é a abordagem recomendada, você também pode:
  • GitHub App Personalizado: Para organizações que precisam de nomes de usuário personalizados ou fluxos de autenticação personalizados. Crie seu próprio GitHub App com permissões necessárias (contents, issues, pull requests) e use a ação actions/create-github-app-token para gerar tokens em seus fluxos de trabalho.
  • GitHub Actions Manual: Configuração direta de fluxo de trabalho para máxima flexibilidade
  • Configuração MCP: Carregamento dinâmico de servidores Model Context Protocol
Consulte a documentação do Claude Code Action para guias detalhados sobre autenticação, segurança e configuração avançada.

Personalizando o comportamento de Claude

Você pode configurar o comportamento de Claude de duas maneiras:
  1. CLAUDE.md: Defina padrões de codificação, critérios de revisão e regras específicas do projeto em um arquivo CLAUDE.md na raiz do seu repositório. Claude seguirá essas diretrizes ao criar PRs e responder a solicitações. Confira nossa documentação de Memória para mais detalhes.
  2. Prompts personalizados: Use o parâmetro prompt no arquivo de fluxo de trabalho para fornecer instruções específicas do fluxo de trabalho. Isso permite que você personalize o comportamento de Claude para diferentes fluxos de trabalho ou tarefas.
Claude seguirá essas diretrizes ao criar PRs e responder a solicitações.