@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-appdesde 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
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_KEYexistente 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
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-appde nuevo. Cuando el repositorio ya tenga unclaude.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
--commenty la líneaclaude_argsdel ejemplo de workflow de revisión al archivo confirmado en el repositorio, lo que conserva cualquier otra edición que le hayas hecho.
/install-github-app de nuevo más tarde para completar los pasos del workflow y del secreto.
- Cuando instalas la GitHub App, le otorgas varios permisos. Consulta Permisos de la GitHub App para ver el conjunto completo
- La configuración rápida funciona con la Claude API y con las suscripciones de Claude. Si usas Amazon Bedrock, Agent Platform de Google Cloud o Microsoft Foundry, consulta Usar GitHub Actions de Claude Code con proveedores de nube
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
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 ConsoleCLAUDE_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 ejecutandoclaude setup-tokenlocalmente. Consulta Generar un token de larga duración
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 }}.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
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 Anthropicanthropic_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 servicioanthropic_workspace_id: el ID del espacio de trabajo,wrkspc_.... Es opcional cuando la regla de federación apunta a un único espacio de trabajo
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 usananthropics/claude-code-action. Si usaste la configuración rápida, buscaclaude.ymly, 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_KEYoCLAUDE_CODE_OAUTH_TOKENdel 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
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,@claudepor 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_usersy pase su propia entradagithub_token. Los eventos que ningún usuario crea, como un disparadorschedule, 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 cronogramacrondel flujo de trabajo. Si ese usuario es un bot, enumérelo enallowed_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íneaanthropic_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.
id-token: write: requerido para la autenticación predeterminada de GitHub App de la GitHub Action de Claude Codeactions: read: permite que Claude lea resultados de CI en PRactions/checkout: le da a Claude una copia local del repositorio para trabajarif: 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
@claude en cualquier comentario de problema o PR con una solicitud:
Ejecutar una skill
La entradaprompt acepta una invocación de skill así como texto sin formato:
- Para una skill en el directorio
.claude/skills/de su repositorio, ejecuteactions/checkoutantes del pasoanthropics/claude-code-actionpara que los archivos de skill estén disponibles en el ejecutor, luego pase/skill-namecomoprompt. - Para una skill empaquetada en un plugin, instale el plugin con las entradas
plugin_marketplacesyplugins, luego pase el/plugin-name:skill-namecon espacio de nombres comoprompt. La entradapluginstomaplugin-name@marketplace-name, donde el nombre del marketplace viene del manifiesto propio del marketplace en lugar de su URL de repositorio.
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.
--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 propiaallowed-toolsfrontmatter 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--allowedToolsenclaude_argslo nombra.
Ejecutar en un cronograma
Con una entradaprompt, 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 archivoCLAUDE.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
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.
- Escriba solicitudes específicas de
@claudepara que Claude necesite menos turnos para terminar - Use plantillas de problemas para proporcionar contexto por adelantado
- Mantenga su
CLAUDE.mdconciso, ya que Claude lo lee en cada ejecución - Establezca
--max-turnsenclaude_argspara 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
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"
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
@claudecomo una palabra completa, no/claudeo@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_TOKENpredeterminado. Si pasagithub_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
pushopull_request
Errores de autenticación
- Confirme que la clave API u token OAuth sea válido probándolo localmente con
claudeantes 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
Configuración avanzada
Parámetros de acción
Estas son las entradas más comúnmente usadas. Cada una se asigna a una clavewith: 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ámetroclaude_args acepta cualquier argumento de CLI de Claude Code:
--max-turns: limitar el número de turnos de conversación--model: modelo a usar, por ejemploclaude-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-toolstambién funciona--debug: habilitar salida de depuración
Actualizar desde beta
Si sus flujos de trabajo aún hacen referencia aanthropics/claude-code-action@beta, actualícelos a v1:
- Cambie
@betaa@v1en la líneauses - Elimine la entrada
mode, ya que la GitHub Action de Claude Code ahora detecta el modo automáticamente - Reemplace
direct_promptconprompt - Mueva opciones de CLI como
max_turnsymodelaclaude_args.custom_instructionsno tiene una bandera con el mismo nombre y se convierte en--append-system-prompt
Qué sigue
- Usar Claude Code GitHub Actions con proveedores en la nube: enrutar la inferencia a través de Amazon Bedrock, Google Cloud’s Agent Platform o Microsoft Foundry
- Referencia de configuración: la lista completa de entradas de acción
- Directorio de ejemplos: flujos de trabajo listos para usar para más escenarios
- Code Review: revisión automática de solicitudes de extracción sin mantener un archivo de flujo de trabajo