Claude Code GitHub Actions trae automatización impulsada por IA a tu flujo de trabajo de GitHub. Con una simple mención @claude en cualquier PR o issue, Claude puede analizar tu código, crear pull requests, implementar características y corregir errores, todo mientras sigue los estándares de tu proyecto.

Claude Code GitHub Actions está construido sobre el Claude Code SDK, que permite la integración programática de Claude Code en tus aplicaciones. Puedes usar el SDK para construir flujos de trabajo de automatización personalizados más allá de GitHub Actions.

¿Por qué usar Claude Code GitHub Actions?

  • Creación instantánea de PR: Describe lo que necesitas, y Claude crea un PR completo con todos los cambios necesarios
  • Implementación automatizada de código: Convierte issues en código funcional con un solo comando
  • Sigue tus estándares: Claude respeta tus pautas de CLAUDE.md y patrones de código existentes
  • Configuración simple: Comienza en minutos con nuestro instalador y clave API
  • Seguro por defecto: Tu código permanece en los runners de Github

¿Qué puede hacer Claude?

Claude Code proporciona una poderosa GitHub Action que transforma cómo trabajas con código:

Claude Code Action

Esta GitHub Action te permite ejecutar Claude Code dentro de tus flujos de trabajo de GitHub Actions. Puedes usar esto para construir cualquier flujo de trabajo personalizado sobre Claude Code.

Ver repositorio →

Configuración

Configuración rápida

La forma más fácil de configurar esta action es a través de Claude Code en la terminal. Solo abre claude y ejecuta /install-github-app.

Este comando te guiará a través de la configuración de la aplicación GitHub y los secretos requeridos.

  • Debes ser un administrador del repositorio para instalar la aplicación GitHub y agregar secretos - Este método de inicio rápido solo está disponible para usuarios directos de la API de Anthropic. Si estás usando AWS Bedrock o Google Vertex AI, por favor consulta la sección Uso con AWS Bedrock y Google Vertex AI.

Configuración manual

Si el comando /install-github-app falla o prefieres la configuración manual, por favor sigue estas instrucciones de configuración manual:

  1. Instala la aplicación Claude GitHub en tu repositorio: https://github.com/apps/claude
  2. Agrega ANTHROPIC_API_KEY a los secretos de tu repositorio (Aprende cómo usar secretos en GitHub Actions)
  3. Copia el archivo de flujo de trabajo de examples/claude.yml en el directorio .github/workflows/ de tu repositorio

Después de completar la configuración rápida o manual, prueba la action etiquetando @claude en un comentario de issue o PR!

Actualización desde Beta

Claude Code GitHub Actions v1.0 introduce cambios que rompen la compatibilidad y requieren actualizar tus archivos de flujo de trabajo para actualizar a v1.0 desde la versión beta.

Si actualmente estás usando la versión beta de Claude Code GitHub Actions, recomendamos que actualices tus flujos de trabajo para usar la versión GA. La nueva versión simplifica la configuración mientras agrega nuevas características poderosas como la detección automática de modo.

Cambios esenciales

Todos los usuarios beta deben hacer estos cambios en sus archivos de flujo de trabajo para actualizar:

  1. Actualiza la versión de la action: Cambia @beta a @v1
  2. Elimina la configuración de modo: Borra mode: "tag" o mode: "agent" (ahora se detecta automáticamente)
  3. Actualiza las entradas de prompt: Reemplaza direct_prompt con prompt
  4. Mueve las opciones CLI: Convierte max_turns, model, custom_instructions, etc. a claude_args

Referencia de Cambios que Rompen Compatibilidad

Entrada Beta AntiguaNueva Entrada v1.0
mode(Eliminado - detectado automáticamente)
direct_promptprompt
override_promptprompt con variables de 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

Ejemplo Antes y Después

Versión beta:

- uses: anthropics/claude-code-action@beta
  with:
    mode: "tag"
    direct_prompt: "Revisa este PR por problemas de seguridad"
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    custom_instructions: "Sigue nuestros estándares de codificación"
    max_turns: "10"
    model: "claude-3-5-sonnet-20241022"

Versión GA (v1.0):

- uses: anthropics/claude-code-action@v1
  with:
    prompt: "Revisa este PR por problemas de seguridad"
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    claude_args: |
      --system-prompt "Sigue nuestros estándares de codificación"
      --max-turns 10
      --model claude-sonnet-4-20250514

La action ahora detecta automáticamente si ejecutar en modo interactivo (responde a menciones @claude) o modo de automatización (se ejecuta inmediatamente con un prompt) basado en tu configuración.

Casos de uso de ejemplo

Claude Code GitHub Actions puede ayudarte con una variedad de tareas. El directorio de ejemplos contiene flujos de trabajo listos para usar para diferentes escenarios.

Flujo de trabajo 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 }}
          # Responde a menciones @claude en comentarios

Usando comandos slash

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"

Automatización personalizada con 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: "Genera un resumen de los commits de ayer y issues abiertos"
          claude_args: "--model claude-opus-4-1-20250805"

Casos de uso comunes

En comentarios de issue o PR:

@claude implementa esta característica basada en la descripción del issue
@claude ¿cómo debería implementar la autenticación de usuario para este endpoint?
@claude corrige el TypeError en el componente del dashboard de usuario

Claude analizará automáticamente el contexto y responderá apropiadamente.

Mejores prácticas

Configuración CLAUDE.md

Crea un archivo CLAUDE.md en la raíz de tu repositorio para definir pautas de estilo de código, criterios de revisión, reglas específicas del proyecto y patrones preferidos. Este archivo guía el entendimiento de Claude sobre los estándares de tu proyecto.

Consideraciones de seguridad

¡Nunca hagas commit de claves API directamente a tu repositorio!

Siempre usa GitHub Secrets para las claves API:

  • Agrega tu clave API como un secreto del repositorio llamado ANTHROPIC_API_KEY
  • Refiérela en flujos de trabajo: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
  • Limita los permisos de la action solo a lo necesario
  • Revisa las sugerencias de Claude antes de hacer merge

Siempre usa GitHub Secrets (ej., ${{ secrets.ANTHROPIC_API_KEY }}) en lugar de codificar directamente las claves API en tus archivos de flujo de trabajo.

Optimizando el rendimiento

Usa plantillas de issue para proporcionar contexto, mantén tu CLAUDE.md conciso y enfocado, y configura timeouts apropiados para tus flujos de trabajo.

Costos de CI

Al usar Claude Code GitHub Actions, ten en cuenta los costos asociados:

Costos de GitHub Actions:

Costos de API:

  • Cada interacción con Claude consume tokens de API basados en la longitud de prompts y respuestas
  • El uso de tokens varía según la complejidad de la tarea y el tamaño del código base
  • Consulta la página de precios de Claude para las tarifas actuales de tokens

Consejos de optimización de costos:

  • Usa comandos específicos @claude para reducir llamadas innecesarias a la API
  • Configura --max-turns apropiado en claude_args para prevenir iteraciones excesivas
  • Establece timeouts a nivel de flujo de trabajo para evitar trabajos descontrolados
  • Considera usar los controles de concurrencia de GitHub para limitar ejecuciones paralelas

Ejemplos de configuración

La Claude Code Action v1 simplifica la configuración con parámetros unificados:

- uses: anthropics/claude-code-action@v1
  with:
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    prompt: "Tus instrucciones aquí" # Opcional
    claude_args: "--max-turns 5" # Argumentos CLI opcionales

Características clave:

  • Interfaz de prompt unificada - Usa prompt para todas las instrucciones
  • Comandos slash - Prompts pre-construidos como /review o /fix
  • Paso directo CLI - Cualquier argumento CLI de Claude Code vía claude_args
  • Triggers flexibles - Funciona con cualquier evento de GitHub

Visita el directorio de ejemplos para archivos de flujo de trabajo completos.

Al responder a comentarios de issue o PR, Claude automáticamente responde a menciones @claude. Para otros eventos, usa el parámetro prompt para proporcionar instrucciones.

Uso con AWS Bedrock y Google Vertex AI

Para entornos empresariales, puedes usar Claude Code GitHub Actions con tu propia infraestructura en la nube. Este enfoque te da control sobre la residencia de datos y facturación mientras mantienes la misma funcionalidad.

Prerrequisitos

Antes de configurar Claude Code GitHub Actions con proveedores de nube, necesitas:

Para Google Cloud Vertex AI:

  1. Un Proyecto de Google Cloud con Vertex AI habilitado
  2. Workload Identity Federation configurado para GitHub Actions
  3. Una cuenta de servicio con los permisos requeridos
  4. Una GitHub App (recomendada) o usar el GITHUB_TOKEN por defecto

Para AWS Bedrock:

  1. Una cuenta AWS con Amazon Bedrock habilitado
  2. Proveedor de Identidad OIDC de GitHub configurado en AWS
  3. Un rol IAM con permisos de Bedrock
  4. Una GitHub App (recomendada) o usar el GITHUB_TOKEN por defecto
1

Crear una GitHub App personalizada (Recomendado para Proveedores 3P)

Para mejor control y seguridad al usar proveedores 3P como Vertex AI o Bedrock, recomendamos crear tu propia GitHub App:

  1. Ve a https://github.com/settings/apps/new
  2. Completa la información básica:
    • Nombre de GitHub App: Elige un nombre único (ej., “YourOrg Claude Assistant”)
    • URL de página de inicio: El sitio web de tu organización o la URL del repositorio
  3. Configura los ajustes de la app:
    • Webhooks: Desmarca “Active” (no necesario para esta integración)
  4. Establece los permisos requeridos:
    • Permisos de repositorio:
      • Contents: Read & Write
      • Issues: Read & Write
      • Pull requests: Read & Write
  5. Haz clic en “Create GitHub App”
  6. Después de la creación, haz clic en “Generate a private key” y guarda el archivo .pem descargado
  7. Anota tu App ID de la página de configuración de la app
  8. Instala la app en tu repositorio:
    • Desde la página de configuración de tu app, haz clic en “Install App” en la barra lateral izquierda
    • Selecciona tu cuenta u organización
    • Elige “Only select repositories” y selecciona el repositorio específico
    • Haz clic en “Install”
  9. Agrega la clave privada como un secreto a tu repositorio:
    • Ve a la configuración de tu repositorio → Secrets and variables → Actions
    • Crea un nuevo secreto llamado APP_PRIVATE_KEY con el contenido del archivo .pem
  10. Agrega el App ID como un secreto:
  • Crea un nuevo secreto llamado APP_ID con el ID de tu GitHub App

Esta app se usará con la action actions/create-github-app-token para generar tokens de autenticación en tus flujos de trabajo.

Alternativa para API de Anthropic o si no quieres configurar tu propia Github app: Usa la app oficial de Anthropic:

  1. Instala desde: https://github.com/apps/claude
  2. No se necesita configuración adicional para autenticación
2

Configurar autenticación del proveedor de nube

Elige tu proveedor de nube y configura autenticación segura:

3

Agregar Secretos Requeridos

Agrega los siguientes secretos a tu repositorio (Settings → Secrets and variables → Actions):

Para API de Anthropic (Directa):

  1. Para Autenticación API:

  2. Para GitHub App (si usas tu propia app):

    • APP_ID: El ID de tu GitHub App
    • APP_PRIVATE_KEY: El contenido de la clave privada (.pem)

Para Google Cloud Vertex AI

  1. Para Autenticación GCP:

    • GCP_WORKLOAD_IDENTITY_PROVIDER
    • GCP_SERVICE_ACCOUNT
  2. Para GitHub App (si usas tu propia app):

    • APP_ID: El ID de tu GitHub App
    • APP_PRIVATE_KEY: El contenido de la clave privada (.pem)

Para AWS Bedrock

  1. Para Autenticación AWS:

    • AWS_ROLE_TO_ASSUME
  2. Para GitHub App (si usas tu propia app):

    • APP_ID: El ID de tu GitHub App
    • APP_PRIVATE_KEY: El contenido de la clave privada (.pem)
4

Crear archivos de flujo de trabajo

Crea archivos de flujo de trabajo de GitHub Actions que se integren con tu proveedor de nube. Los ejemplos a continuación muestran configuraciones completas tanto para AWS Bedrock como para Google Vertex AI:

Solución de problemas

Claude no responde a comandos @claude

Verifica que la GitHub App esté instalada correctamente, revisa que los flujos de trabajo estén habilitados, asegúrate de que la clave API esté configurada en los secretos del repositorio, y confirma que el comentario contenga @claude (no /claude).

CI no se ejecuta en los commits de Claude

Asegúrate de estar usando la GitHub App o app personalizada (no el usuario Actions), revisa que los triggers del flujo de trabajo incluyan los eventos necesarios, y verifica que los permisos de la app incluyan triggers de CI.

Errores de autenticación

Confirma que la clave API sea válida y tenga permisos suficientes. Para Bedrock/Vertex, revisa la configuración de credenciales y asegúrate de que los secretos estén nombrados correctamente en los flujos de trabajo.

Configuración avanzada

Parámetros de la action

La Claude Code Action v1 usa una configuración simplificada:

ParámetroDescripciónRequerido
promptInstrucciones para Claude (texto o comando slash)No*
claude_argsArgumentos CLI pasados a Claude CodeNo
anthropic_api_keyClave API de AnthropicSí**
github_tokenToken de GitHub para acceso a APINo
trigger_phraseFrase de activación personalizada (por defecto: “@claude”)No
use_bedrockUsar AWS Bedrock en lugar de la API de AnthropicNo
use_vertexUsar Google Vertex AI en lugar de la API de AnthropicNo

*Prompt es opcional - cuando se omite para comentarios de issue/PR, Claude responde a la frase de activación
**Requerido para API directa de Anthropic, no para Bedrock/Vertex

Usando claude_args

El parámetro claude_args acepta cualquier argumento CLI de Claude Code:

claude_args: "--max-turns 5 --model claude-sonnet-4-20250514 --mcp-config /path/to/config.json"

Argumentos comunes:

  • --max-turns: Máximo de turnos de conversación (por defecto: 10)
  • --model: Modelo a usar (ej., claude-sonnet-4-20250514)
  • --mcp-config: Ruta a la configuración MCP
  • --allowed-tools: Lista separada por comas de herramientas permitidas
  • --debug: Habilitar salida de debug

Métodos de integración alternativos

Aunque el comando /install-github-app es el enfoque recomendado, también puedes:

  • GitHub App Personalizada: Para organizaciones que necesitan nombres de usuario con marca o flujos de autenticación personalizados. Crea tu propia GitHub App con permisos requeridos (contents, issues, pull requests) y usa la action actions/create-github-app-token para generar tokens en tus flujos de trabajo.
  • GitHub Actions Manual: Configuración directa de flujo de trabajo para máxima flexibilidad
  • Configuración MCP: Carga dinámica de servidores de Model Context Protocol

Consulta el repositorio de Claude Code Action para documentación detallada.

Personalizando el comportamiento de Claude

Puedes configurar el comportamiento de Claude de dos maneras:

  1. CLAUDE.md: Define estándares de codificación, criterios de revisión y reglas específicas del proyecto en un archivo CLAUDE.md en la raíz de tu repositorio. Claude seguirá estas pautas al crear PRs y responder a solicitudes. Consulta nuestra documentación de Memoria para más detalles.
  2. Prompts personalizados: Usa el parámetro prompt en el archivo de flujo de trabajo para proporcionar instrucciones específicas del flujo de trabajo. Esto te permite personalizar el comportamiento de Claude para diferentes flujos de trabajo o tareas.

Claude seguirá estas pautas al crear PRs y responder a solicitudes.