Saltar al contenido principal
Claude Code GitHub Actions es una GitHub Action que ejecuta Claude Code dentro de los flujos de trabajo de su repositorio. Mencione @claude en un comentario de solicitud de extracción o problema para que Claude analice código, implemente cambios e inserte confirmaciones. También puede darle a la GitHub Action de Claude Code un mensaje para que se ejecute automáticamente en cualquier evento de GitHub. Úselo para convertir problemas en solicitudes de extracción, corregir errores desde un comentario o automatizar tareas recurrentes. Varios productos comparten el nombre Claude Code. Esta página cubre la integración de flujo de trabajo claude-code-action, que configura con archivos de flujo de trabajo en su repositorio. Para los productos relacionados, consulte:
  • Code Review: revisión automática en cada solicitud de extracción, sin escribir un flujo de trabajo
  • Claude Code en la nube: sesiones de Claude Code que se ejecutan en infraestructura en la nube en lugar de su máquina
  • Claude Agent SDK: automatización personalizada fuera de GitHub Actions. La GitHub Action de Claude Code se construye sobre el SDK
  • GitHub Enterprise Server: Claude Code con GitHub autohospedado

Configuración

Puedes configurar la GitHub Action de Claude Code de una de dos maneras:
  • Configuración rápida: ejecuta /install-github-app desde Claude Code. Claude Code instala la GitHub App, agrega tu secreto de autenticación y prepara el pull request del workflow por ti
  • Configuración manual: instala la app, agrega el secreto y copia el archivo de workflow en tu repositorio tú mismo. Usa esta opción cuando no ejecutes Claude Code localmente, cuando el comando falle o cuando quieras tener control total de los archivos de workflow
Para cualquiera de las dos opciones, necesitas acceso de administrador al repositorio.

Configuración rápida

/install-github-app funciona solo con repositorios de github.com. Si el remoto de git de tu repositorio está en gitlab.com o bitbucket.org, el comando muestra un aviso y termina en lugar de iniciar la configuración. Para ejecutar Claude Code desde pipelines de GitLab, consulta Claude Code GitLab CI/CD. Antes de empezar, instala la GitHub CLI y autentícala con gh auth login. Claude Code verifica que esté instalada y te advierte si falta. Abre claude en el repositorio que quieres conectar, ejecuta /install-github-app y sigue las indicaciones. Claude Code instala la Claude GitHub App y luego configura un secreto de autenticación para los workflows:
  • Si Claude Code ya tiene una clave de API, reutiliza esa clave y ofrece conservar el secreto ANTHROPIC_API_KEY existente del repositorio si ya hay uno configurado
  • De lo contrario, elige entre crear un token de larga duración con tu suscripción de Claude y pegar una clave de API
Claude Code guarda la credencial como un secreto del repositorio, llamado ANTHROPIC_API_KEY para una clave de API o CLAUDE_CODE_OAUTH_TOKEN para un token de suscripción. Después, Claude Code sube una rama con los archivos de workflow que selecciones, ya configurados para usar ese secreto, y abre GitHub en tu navegador con un pull request listo para crear. Crea y fusiona ese pull request, y @claude funcionará en el repositorio. Para detener la configuración a medio camino, presiona Esc. Un paso que ya esté en curso termina, y no se inicia ningún paso posterior. El mensaje final enumera lo que ya ocurrió en el repositorio, como una rama subida o un secreto guardado. Si seleccionas el workflow de revisión, Claude publica cada revisión en el propio pull request, como un comentario en línea en cada problema que encuentra o como un único comentario de resumen cuando no encuentra ninguno. Claude omite algunos pull requests, como los borradores. El ejemplo de workflow de revisión usa el mismo skill y los enumera. Antes de la v2.1.229, Claude escribía su revisión solo en el registro de ejecución del workflow. Para actualizar un workflow de revisión generado por una versión anterior, haz una de las siguientes acciones:
  • Ejecuta /install-github-app de nuevo. Cuando el repositorio ya tenga un claude.yml, selecciona Update workflow file with latest version. Claude Code sube copias nuevas de los archivos de workflow a una rama nueva y abre el pull request, igual que en una primera instalación.
  • Agrega tú mismo el argumento --comment y la línea claude_args del ejemplo de workflow de revisión al archivo confirmado en el repositorio, lo que conserva cualquier otra edición que le hayas hecho.
Después de instalar la GitHub App, Claude Code pregunta si quieres continuar con la configuración de GitHub Actions. Elige Skip for now para detenerte con solo la GitHub App instalada. Ejecuta /install-github-app de nuevo más tarde para completar los pasos del workflow y del secreto.

Configuración manual

Para configurar la GitHub Action de Claude Code sin ejecutar /install-github-app, instala la app, agrega un secreto y copia un archivo de workflow tú mismo:
1

Instala la Claude GitHub App

Instala la Claude GitHub App en tu repositorio. La GitHub Action de Claude Code depende de tres de los permisos de la app:
  • Contents: lectura y escritura, para que Claude pueda modificar archivos del repositorio
  • Issues: lectura y escritura, para que Claude pueda responder a issues
  • Pull requests: lectura y escritura, para que Claude pueda crear PRs y subir cambios
Durante la instalación, también otorgas permisos que usan otras funciones de Claude. Consulta Permisos de la GitHub App para ver el conjunto completo.
2

Agrega un secreto de autenticación

Agrega uno de los siguientes secretos a tu repositorio, según cómo te autentiques. Consulta la guía de GitHub sobre cómo usar secretos en GitHub Actions.
  • ANTHROPIC_API_KEY: una clave de la Claude API de la Claude Console
  • CLAUDE_CODE_OAUTH_TOKEN: un token de OAuth que se autentica con tu suscripción de Claude, disponible en los planes Pro, Max, Ultra, Team y Enterprise. Genera uno ejecutando claude setup-token localmente. Consulta Generar un token de larga duración
En los archivos de workflow, pasa el secreto a la entrada correspondiente: anthropic_api_key para una clave de API, o claude_code_oauth_token para un token de OAuth.
3

Copia el archivo de workflow

Copia examples/claude.yml en el directorio .github/workflows/ de tu repositorio. El archivo es un workflow funcional, no solo un ejemplo. Tal como está, Claude responde cada vez que alguien menciona @claude en un issue o pull request, autenticándose con el secreto ANTHROPIC_API_KEY. Si en su lugar agregaste CLAUDE_CODE_OAUTH_TOKEN, cambia la línea anthropic_api_key del workflow por claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}.
Después de la configuración, prueba la GitHub Action de Claude Code etiquetando a @claude en un comentario de un issue o PR.

Configurar para una organización

Con la configuración rápida o la manual, configuras un repositorio a la vez. Para implementar la GitHub Action de Claude Code en toda una organización:
  • Instala la Claude GitHub App una sola vez a nivel de organización, eligiendo todos los repositorios o una lista seleccionada
  • Guarda el secreto de autenticación como un secreto de Actions a nivel de organización para que cada repositorio no necesite su propia copia
  • Agrega el archivo de workflow a cada repositorio que deba ejecutar la GitHub Action de Claude Code, o define el job una sola vez como un workflow reutilizable al que llame cada repositorio
Para un secreto compartido entre repositorios, autentícate con una clave de API de la Claude Console en lugar de un token de OAuth, ya que un token de OAuth está vinculado a la suscripción de la persona que ejecutó claude setup-token. Para evitar por completo guardar un secreto de larga duración, autentícate mediante federación de identidades de carga de trabajo, en la que la GitHub Action de Claude Code intercambia el token de OpenID Connect (OIDC) de GitHub del workflow por acceso a la Claude API a través de una cuenta de servicio de la Claude Console. Configura estas entradas:
  • anthropic_federation_rule_id: el ID de la regla de federación, fdrl_...
  • anthropic_organization_id: el ID de tu organización de Anthropic
  • anthropic_service_account_id: el ID de la cuenta de servicio, svac_.... Es opcional, ya que la regla de federación que creas en la Console ya apunta a una cuenta de servicio
  • anthropic_workspace_id: el ID del espacio de trabajo, wrkspc_.... Es opcional cuando la regla de federación apunta a un único espacio de trabajo
Otorga al workflow el permiso id-token: write, que la GitHub Action de Claude Code necesita para el intercambio de federación incluso cuando pasas tu propio github_token. Consulta la guía de configuración de la GitHub Action de Claude Code para la configuración del lado de la Console. Para preguntas sobre el manejo y la retención de datos en una revisión de seguridad, consulta uso de datos y seguridad.

Desinstalar

Para quitar la GitHub Action de Claude Code, deshaz cada parte de la configuración que aplique a tu instalación:
  • Archivos de workflow: elimina de .github/workflows/ los workflows que usan anthropics/claude-code-action. Si usaste la configuración rápida, busca claude.yml y, si seleccionaste el workflow de revisión, claude-code-review.yml. Una vez eliminados los workflows, la GitHub Action de Claude Code deja de ejecutarse
  • Secretos: elimina el secreto ANTHROPIC_API_KEY o CLAUDE_CODE_OAUTH_TOKEN del repositorio, y de los secretos de Actions a nivel de organización si lo compartiste entre repositorios. Si eliminas un secreto, la credencial que contenía sigue siendo válida. Para retirar una clave de API por completo, elimina también la clave en la Claude Console
  • GitHub App: desinstala la Claude GitHub App en la configuración de tu repositorio u organización, en GitHub Apps, pero solo si no la usas para otra función de Claude, como Code Review o la corrección automática web
Si configuraste un proveedor de nube, elimina también los secretos del proveedor, como AWS_ROLE_TO_ASSUME, los secretos GCP_* o los secretos AZURE_*, y desinstala la GitHub App personalizada junto con sus secretos APP_ID y APP_PRIVATE_KEY.

Permisos de la GitHub App

La Claude GitHub App es compartida por todas las funciones de Claude que se integran con GitHub, incluidas la GitHub Action de Claude Code, Code Review y la corrección automática de pull requests en sesiones en la nube. Una GitHub App tiene un único conjunto de permisos que cubre todas sus funciones, por lo que el conjunto incluye algunos permisos que la GitHub Action de Claude Code no usa. Cuando instalas la app, otorgas los siguientes permisos: El conjunto de permisos también puede cambiar antes que las funciones que lo usan. Cuando la app solicita un permiso que no tenía antes, GitHub le pide al propietario de la cuenta que lo apruebe, a un propietario de la organización en el caso de una instalación de organización, y la instalación conserva sus permisos anteriores hasta que lo haga. Por ejemplo, cuando el acceso a Actions cambia de lectura a escritura, la app puede volver a ejecutar workflows en lugar de solo ver ejecuciones y registros, por lo que GitHub le pide al propietario que apruebe el cambio. Cuando instalas la app, aceptas su conjunto completo de permisos. GitHub no te permite aceptar solo una parte. Si tu organización exige únicamente los permisos que usa la GitHub Action de Claude Code, crea en su lugar una GitHub App personalizada con Contents, Issues y Pull requests, siguiendo la guía de configuración de la GitHub Action de Claude Code. Una app personalizada cubre solo la GitHub Action de Claude Code. Code Review y la corrección automática web siguen requiriendo la app oficial. Para obtener detalles sobre cómo la GitHub Action de Claude Code limita lo que Claude puede hacer con estos permisos, consulta la documentación de seguridad.

Modos interactivo y de automatización

La GitHub Action de Claude Code detecta cómo ejecutarse desde su configuración de flujo de trabajo:
  • Modo interactivo: cuando el flujo de trabajo no proporciona entrada prompt, Claude espera la frase de disparo, @claude por defecto, en un comentario de problema o solicitud de extracción, en una revisión de solicitud de extracción o en el cuerpo o título de un problema recién abierto, luego responde a esa solicitud. El progreso y los resultados aparecen como un comentario en el problema o PR que desencadena.
  • Modo de automatización: cuando el flujo de trabajo proporciona una entrada prompt, Claude se ejecuta sin esperar una mención, sujeto solo a las comprobaciones sobre quién puede desencadenar ejecuciones. Por defecto, los resultados aparecen en el registro de ejecución del flujo de trabajo en lugar de un comentario. Claude puede publicar en el problema o solicitud de extracción cuando el mensaje lo dirige y tiene una herramienta que puede publicar, como en el ejemplo de revisión de código.

Quién puede desencadenar ejecuciones

En ambos modos, la GitHub Action de Claude Code ejecuta dos comprobaciones en el actor que desencadena antes de que Claude comience, y la ejecución falla cuando cualquiera de las comprobaciones la rechaza:
  • Acceso de escritura: en eventos de problema y solicitud de extracción, el usuario que desencadena debe tener acceso de escritura al repositorio. Para permitir usuarios específicos sin acceso de escritura, establezca allowed_non_write_users y pase su propia entrada github_token. Los eventos que ningún usuario crea, como un disparador schedule, omiten esta comprobación.
  • Actor humano: en cada evento, la GitHub Action de Claude Code rechaza un actor bot a menos que lo enumere en allowed_bots, lo que evita que los bots desencadenen Claude en un bucle. Esta comprobación también se aplica a ejecuciones programadas, que GitHub atribuye a un usuario del repositorio, generalmente el que cambió por última vez el cronograma cron del flujo de trabajo. Si ese usuario es un bot, enumérelo en allowed_bots.

Casos de uso de ejemplo

El directorio de ejemplos contiene flujos de trabajo listos para usar para diferentes escenarios. Los ejemplos en esta página muestran autenticación de clave API. Si se autentica con una suscripción de Claude, reemplace la línea anthropic_api_key en cualquier ejemplo con claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}.

Responder a menciones @claude

Este flujo de trabajo ejecuta la GitHub Action de Claude Code en modo interactivo, por lo que Claude responde cada vez que alguien menciona @claude en un comentario de problema o PR.
Las partes de este flujo de trabajo que no son código estándar:
  • id-token: write: requerido para la autenticación predeterminada de GitHub App de la GitHub Action de Claude Code
  • actions: read: permite que Claude lea resultados de CI en PR
  • actions/checkout: le da a Claude una copia local del repositorio para trabajar
  • if: evita que los ejecutores se inicien en comentarios que no mencionen @claude. La GitHub Action de Claude Code también verifica la frase de disparo antes de responder
Una vez que el flujo de trabajo está en su lugar, mencione @claude en cualquier comentario de problema o PR con una solicitud:
Claude responde en un comentario en el mismo problema o PR y lo actualiza mientras trabaja.

Ejecutar una skill

La entrada prompt acepta una invocación de skill así como texto sin formato:
  • Para una skill en el directorio .claude/skills/ de su repositorio, ejecute actions/checkout antes del paso anthropics/claude-code-action para que los archivos de skill estén disponibles en el ejecutor, luego pase /skill-name como prompt.
  • Para una skill empaquetada en un plugin, instale el plugin con las entradas plugin_marketplaces y plugins, luego pase el /plugin-name:skill-name con espacio de nombres como prompt. La entrada plugins toma plugin-name@marketplace-name, donde el nombre del marketplace viene del manifiesto propio del marketplace en lugar de su URL de repositorio.
El siguiente flujo de trabajo instala el plugin code-review y ejecuta su skill cuando se abre, actualiza, reabre o marca una solicitud de extracción como lista para revisión. Ejecuta el mismo plugin que el flujo de trabajo de revisión de la configuración rápida. Use un flujo de trabajo como este cuando desee controlar el mensaje, el modelo y los disparadores usted mismo. Para revisiones automáticas sin mantener un archivo de flujo de trabajo, consulte Code Review. En repositorios públicos, GitHub retiene secretos de ejecuciones desencadenadas por solicitudes de extracción de bifurcación, por lo que la revisión se ejecuta solo en solicitudes de extracción de ramas en el mismo repositorio.
Dos líneas en este flujo de trabajo controlan dónde va la revisión:
  • --comment: Claude publica su revisión en la solicitud de extracción, como un comentario en línea en cada problema que encuentra o como un comentario de resumen cuando no encuentra ninguno. Sin él, Claude no publica nada, y usted lee los hallazgos en el registro de ejecución del flujo de trabajo.
  • claude_args: mantenga esta línea aunque la propia allowed-tools frontmatter de la skill nombre la misma herramienta, porque la GitHub Action de Claude Code inicia el servidor MCP que publica comentarios en línea solo cuando --allowedTools en claude_args lo nombra.
Claude omite solicitudes de extracción en borrador y cerradas, solicitudes de extracción que juzga que no necesitan revisión, como las automatizadas o triviales, y solicitudes de extracción que ya tienen un comentario de Claude.

Ejecutar en un cronograma

Con una entrada prompt, la GitHub Action de Claude Code se ejecuta en modo de automatización en cualquier evento de GitHub, incluido un cronograma cron. Para un mensaje de texto sin formato, Claude no tiene acceso a shell o API de GitHub hasta que otorgue las herramientas que el mensaje necesita, con --allowedTools en claude_args o una regla permissions.allow en la entrada settings. Si invoca una skill en su lugar, Claude puede usar las herramientas que su frontmatter allowed-tools otorga. GitHub ejecuta flujos de trabajo programados solo desde la rama predeterminada y, en repositorios públicos, desactiva el cronograma después de 60 días sin actividad del repositorio. Este flujo de trabajo genera un informe en el registro de ejecución del flujo de trabajo a las 09:00 UTC cada día. Su línea claude_args pasa argumentos de CLI que seleccionan el modelo y permiten dos herramientas MCP de GitHub. Claude lee confirmaciones y problemas a través de la API de GitHub con esas herramientas, por lo que puede omitir el paso de checkout:

Mejores prácticas

Defina estándares de proyecto en CLAUDE.md

Cree un archivo CLAUDE.md en la raíz de su repositorio para definir directrices de estilo de código, criterios de revisión, reglas específicas del proyecto y patrones preferidos. Claude sigue estas directrices al crear PR y responder a solicitudes. Consulte la documentación de memoria para detalles.

Proteja sus credenciales

Nunca confirme claves API u tokens OAuth directamente en su repositorio. Siempre almacénelos como GitHub Secrets y haga referencia a ellos en flujos de trabajo, por ejemplo anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}.
Otorgue al flujo de trabajo solo los permisos que necesita y revise los cambios de Claude antes de fusionar. Para una guía de seguridad que incluya permisos y autenticación, consulta la documentación de seguridad de Claude Code Action.

Gestionar costos

Cada ejecución consume dos tipos de recursos:
  • Minutos de GitHub Actions: la GitHub Action de Claude Code se ejecuta en ejecutores alojados en GitHub, que consumen sus minutos de GitHub Actions. Consulte la documentación de facturación de GitHub para precios y límites de minutos.
  • Tokens de API: cada interacción consume tokens según la longitud de mensajes y respuestas, complejidad de tareas y tamaño de la base de código. Consulte la página de precios de Claude para tasas de tokens actuales. Si se autentica con un token OAuth, las ejecuciones usan su suscripción de Claude en lugar de facturación de API.
Puede reducir ambos tipos de costo dándole a Claude un contexto más claro y limitando cuánto trabajo puede hacer cada ejecución:
  • Escriba solicitudes específicas de @claude para que Claude necesite menos turnos para terminar
  • Use plantillas de problemas para proporcionar contexto por adelantado
  • Mantenga su CLAUDE.md conciso, ya que Claude lo lee en cada ejecución
  • Establezca --max-turns en claude_args para limitar iteraciones
  • Establezca tiempos de espera a nivel de flujo de trabajo para evitar trabajos descontrolados
  • Use los controles de concurrencia de GitHub para limitar ejecuciones paralelas
Para seguimiento de uso en toda su organización, consulte el panel de análisis y monitoreo. Para cómo se mide y factura el uso, consulte costos.

Usar un proveedor en la nube

Por defecto, la GitHub Action de Claude Code llama a la API de Claude directamente con su clave API u token OAuth. Para enrutar la inferencia a través de su propia cuenta en la nube en su lugar, establezca la entrada para su proveedor y siga Usar Claude Code GitHub Actions con proveedores en la nube:
  • Amazon Bedrock: use_bedrock: "true"
  • Google Cloud’s Agent Platform: use_vertex: "true"
  • Microsoft Foundry: use_foundry: "true"
Con los tres proveedores, se autentica a través de federación de identidad OIDC en lugar de una clave API de Claude, por lo que no almacena credenciales de nube estáticas en su repositorio.

Solución de problemas

Claude no responde a comandos @claude

  • Verifique que la GitHub App esté instalada en el repositorio
  • Compruebe que los flujos de trabajo estén habilitados para el repositorio
  • Asegúrese de que su clave API u token OAuth esté configurado en secretos del repositorio
  • Confirme que el comentario contiene @claude como una palabra completa, no /claude o @claude-bot
  • Confirme que el usuario que comenta tiene acceso de escritura al repositorio. Consulte Quién puede desencadenar ejecuciones para las excepciones

CI no se ejecuta en las confirmaciones de Claude

  • GitHub no desencadena flujos de trabajo en confirmaciones realizadas con el GITHUB_TOKEN predeterminado. Si pasa github_token: ${{ secrets.GITHUB_TOKEN }} a la GitHub Action de Claude Code, elimínelo para que se autentique como la GitHub App de Claude, o pase un token de aplicación personalizado en su lugar
  • Compruebe que los disparadores del flujo de trabajo de CI incluyan los eventos que producen los insertos de Claude, como push o pull_request

Errores de autenticación

  • Confirme que la clave API u token OAuth sea válido probándolo localmente con claude antes de depurar el flujo de trabajo
  • Para Bedrock, Agent Platform y Foundry, consulte la sección de solución de problemas de la página del proveedor en la nube
Para más soluciones, consulte las Preguntas frecuentes de la GitHub Action de Claude Code.

Configuración avanzada

Parámetros de acción

Estas son las entradas más comúnmente usadas. Cada una se asigna a una clave with: en el paso anthropics/claude-code-action. Para la lista de entrada completa, consulte la referencia de configuración de la GitHub Action de Claude Code.

Pasar argumentos de CLI

El parámetro claude_args acepta cualquier argumento de CLI de Claude Code:
Argumentos comunes:
  • --max-turns: limitar el número de turnos de conversación
  • --model: modelo a usar, por ejemplo claude-sonnet-5. Sin este argumento, la GitHub Action de Claude Code usa el modelo predeterminado de Claude Code
  • --mcp-config: ruta a configuración de MCP
  • --allowedTools: lista separada por comas de herramientas permitidas. El alias --allowed-tools también funciona
  • --debug: habilitar salida de depuración

Actualizar desde beta

Si sus flujos de trabajo aún hacen referencia a anthropics/claude-code-action@beta, actualícelos a v1:
  1. Cambie @beta a @v1 en la línea uses
  2. Elimine la entrada mode, ya que la GitHub Action de Claude Code ahora detecta el modo automáticamente
  3. Reemplace direct_prompt con prompt
  4. Mueva opciones de CLI como max_turns y model a claude_args. custom_instructions no tiene una bandera con el mismo nombre y se convierte en --append-system-prompt
Para la asignación de entrada completa y ejemplos antes y después, consulte la guía de migración.

Qué sigue