Руководства
Настройка Claude Code GitHub Actions: @claude в issues и PR
Claude Code GitHub Actions — это GitHub Action, который запускает Claude Code внутри workflows вашего репозитория: упомяните @claude в комментарии к pull request или issue, и Claude проанализирует код, внесёт изменения и запушит коммиты. Эта страница — пошаговая инструкция: быстрая и ручная настройка, базовый workflow, основные входные параметры, кто может запустить выполнение, заметки о стоимости и безопасности и что проверить, если ответа нет. Она следует документации Anthropic Claude Code GitHub Actions, сверенной с ней 30 октября 2026 г.
- Быстрая настройка: откройте
claudeв репозитории, который хотите подключить, выполните/install-github-appи следуйте подсказкам. Работает только с репозиториями на github.com и требует прав администратора репозитория. - Ручная настройка состоит из трёх шагов: установить Claude GitHub App, добавить секрет
ANTHROPIC_API_KEYилиCLAUDE_CODE_OAUTH_TOKENи скопироватьexamples/claude.ymlв.github/workflows/. - Workflow без входного параметра
promptработает в интерактивном режиме и ждёт@claudeв комментарии; workflow с параметромpromptработает в режиме автоматизации, не дожидаясь упоминания. - Храните учётные данные только в GitHub Secrets и никогда не коммитьте их; давайте workflow только нужные права и проверяйте изменения Claude перед слиянием.
- Каждый запуск расходует минуты GitHub Actions и токены API;
--max-turns, тайм-ауты и управление параллелизмом ограничивают расход.
Что он делает
Claude Code GitHub Action запускает Claude Code внутри workflows вашего репозитория. Упомяните @claude в комментарии к pull request или issue, чтобы Claude проанализировал код, внёс изменения и запушил коммиты. Можно также задать prompt, чтобы он выполнялся автоматически по любому событию GitHub. Anthropic перечисляет такие применения: превращать issues в pull requests, исправлять баги по комментарию и автоматизировать повторяющиеся задачи.
Несколько продуктов носят имя Claude Code. Эта страница о claude-code-action, который настраивается файлами workflow в вашем репозитории. Если вам нужна автоматическая проверка каждого pull request без написания workflow, страница Anthropic указывает на отдельный продукт — Code Review.
Настройка: быстрая или ручная
Для любого пути нужны права администратора репозитория.
| Путь | Что делаете | Когда использовать |
|---|---|---|
| Быстрая настройка | Выполните /install-github-app из Claude Code. Claude Code установит GitHub App, добавит секрет аутентификации и подготовит pull request с workflow. | Когда вы запускаете Claude Code локально. |
| Ручная настройка | Сами устанавливаете приложение, добавляете секрет и копируете файл workflow в репозиторий. | Когда вы не запускаете Claude Code локально, когда команда завершается ошибкой или когда нужен полный контроль над файлами workflow. |
Быстрая настройка
/install-github-app работает только с репозиториями на github.com. Если git remote вашего репозитория находится на gitlab.com или bitbucket.org, команда выведет уведомление и завершится, не начиная настройку.
- Установите GitHub CLI и аутентифицируйте его командой
gh auth login. Claude Code проверяет его наличие и предупреждает, если его нет. - Откройте
claudeв репозитории, который хотите подключить, выполните/install-github-appи следуйте подсказкам. Claude Code установит Claude GitHub App, а затем настроит секрет аутентификации для workflows. - Как выбирается секрет: если у Claude Code уже есть ключ API, он использует его повторно и предлагает сохранить существующий секрет
ANTHROPIC_API_KEYрепозитория, если он уже задан. В остальных случаях вы выбираете между созданием долгоживущего токена с вашей подпиской Claude и вставкой ключа API. - Claude Code сохраняет учётные данные как секрет репозитория с именем
ANTHROPIC_API_KEYдля ключа API илиCLAUDE_CODE_OAUTH_TOKENдля токена подписки. - Claude Code пушит ветку с выбранными вами файлами workflow, уже настроенными на этот секрет, и открывает в браузере GitHub с готовым к созданию pull request. Создайте и слейте этот pull request, и
@claudeзаработает в репозитории.
Чтобы остановиться на полпути, нажмите Esc. Уже выполняющийся шаг завершится, а следующие не начнутся. Итоговое сообщение перечисляет, что уже произошло в репозитории, например запушенную ветку или сохранённый секрет. После установки GitHub App Claude Code спрашивает, продолжать ли настройку GitHub Actions. Выберите Skip for now, чтобы остановиться, имея только установленный GitHub App, и позже снова выполните /install-github-app, чтобы завершить шаги с workflow и секретом.
Если вы выберете workflow для проверки, Claude публикует каждую проверку прямо в pull request: встроенным комментарием к каждой найденной проблеме или одним итоговым комментарием, если проблем нет. Claude пропускает некоторые pull requests, например черновики. До v2.1.229 Claude записывал свою проверку только в лог запуска workflow.
Чтобы обновить workflow проверки, созданный более ранней версией, сделайте одно из следующего:
- Снова выполните
/install-github-app. Когда в репозитории уже естьclaude.yml, выберите Update workflow file with latest version. Claude Code запушит свежие копии файлов workflow в новую ветку и откроет pull request, как при первой установке. - Сами добавьте аргумент
--commentи строкуclaude_argsиз примера workflow проверки ниже в файл, лежащий в репозитории; так сохранятся все ваши другие правки в нём.
Если вы используете Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry, страница Anthropic отсылает вас к отдельной: Use Claude Code GitHub Actions with cloud providers.
Ручная настройка
1. Установите Claude GitHub App. Установите Claude GitHub App в свой репозиторий. Action опирается на три права приложения:
- Contents: чтение и запись, чтобы Claude мог изменять файлы репозитория.
- Issues: чтение и запись, чтобы Claude мог отвечать на issues.
- Pull requests: чтение и запись, чтобы Claude мог создавать PR и пушить изменения.
При установке вы также даёте права, которые используют другие функции Claude; полный набор приведён ниже в разделе «Права GitHub App».
2. Добавьте секрет аутентификации. Добавьте в репозиторий один из следующих секретов в зависимости от способа аутентификации. Руководство GitHub — using secrets in GitHub Actions.
ANTHROPIC_API_KEY: ключ Claude API из Claude Console.CLAUDE_CODE_OAUTH_TOKEN: токен OAuth, который аутентифицируется с вашей подпиской Claude, доступен на тарифах Pro, Max, Team и Enterprise. Создайте его, выполнив локальноclaude setup-token.
В файлах workflow передайте секрет в соответствующий параметр: anthropic_api_key для ключа API или claude_code_oauth_token для токена OAuth.
3. Скопируйте файл workflow. Скопируйте examples/claude.yml в каталог .github/workflows/ вашего репозитория. Этот файл — рабочий workflow, а не просто пример. В том виде, как он закоммичен, Claude отвечает всякий раз, когда кто-то упоминает @claude в issue или pull request, аутентифицируясь секретом ANTHROPIC_API_KEY. Если вы добавили CLAUDE_CODE_OAUTH_TOKEN, замените в workflow строку anthropic_api_key на claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}.
После настройки проверьте, отметив @claude в комментарии к issue или PR.
Настройка для организации
Быстрая и ручная настройка настраивают один репозиторий за раз. Чтобы развернуть action по всей организации:
- Установите Claude GitHub App один раз на уровне организации, выбрав все репозитории или выбранный список.
- Храните секрет аутентификации как секрет Actions уровня организации, чтобы каждому репозиторию не нужна была своя копия.
- Добавьте файл workflow в каждый репозиторий, который должен запускать action, либо один раз опишите задание как reusable workflow, который вызывает каждый репозиторий.
Для секрета, общего для нескольких репозиториев, аутентифицируйтесь ключом API из Claude Console, а не токеном OAuth, поскольку токен OAuth привязан к подписке того, кто выполнил claude setup-token. Чтобы вообще не хранить долгоживущий секрет, используйте workload identity federation: action обменивает токен GitHub OIDC этого workflow на доступ к Claude API через сервисный аккаунт Claude Console. Параметры — anthropic_federation_rule_id, anthropic_organization_id и необязательные anthropic_service_account_id и anthropic_workspace_id, а workflow нужно право id-token: write. Настройка на стороне Console описана в руководстве по настройке action.
Права GitHub App
Claude GitHub App общее для всех функций Claude, интегрирующихся с GitHub, включая этот action, Code Review и auto-fix для pull requests в облачных сессиях. У GitHub App один набор прав, поэтому в него входят и права, которые action не использует. При установке приложения вы выдаёте:
| Право | Доступ |
|---|---|
| Actions | Чтение и запись |
| Administration | Чтение |
| Checks | Чтение и запись |
| Contents | Чтение и запись |
| Discussions | Чтение и запись |
| Issues | Чтение и запись |
| Members | Чтение |
| Merge queues | Чтение |
| Metadata | Чтение |
| Pull requests | Чтение и запись |
| Repository hooks | Чтение и запись |
| Statuses | Чтение |
| Workflows | Чтение и запись |
Установка приложения означает согласие на весь набор прав; GitHub не позволяет принять только часть. Если ваша организация требует лишь права, которые использует action, создайте собственный GitHub App с Contents, Issues и Pull requests по руководству action. Собственное приложение покрывает только этот action. Code Review и web auto-fix по-прежнему требуют официального приложения.
Базовый workflow: ответ на @claude
Этот workflow запускает action в интерактивном режиме, так что Claude отвечает всякий раз, когда кто-то упоминает @claude в комментарии к issue или PR.
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.ANTHROPIC_API_KEY }}
Части этого workflow, которые не являются шаблонным кодом:
id-token: write: нужно для аутентификации через GitHub App, которая используется action по умолчанию.actions: read: позволяет Claude читать результаты CI в PR.actions/checkout: даёт Claude локальную копию репозитория для работы.if: не даёт раннерам запускаться на комментариях, не упоминающих@claude. Action также сам проверяет триггерную фразу, прежде чем отвечать.
Когда workflow на месте, упомяните @claude в любом комментарии к issue или 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 отвечает комментарием в том же issue или PR и обновляет его по ходу работы.
Интерактивный режим, режим автоматизации и кто может запустить выполнение
Action определяет, как запускаться, по конфигурации вашего workflow:
- Интерактивный режим: если workflow не задаёт параметр
prompt, Claude ждёт триггерную фразу (по умолчанию@claude) в комментарии к issue или pull request, в review pull request либо в теле или заголовке только что открытого issue, а затем отвечает на этот запрос. Ход работы и результаты появляются комментарием в issue или PR, вызвавшем запуск. - Режим автоматизации: если workflow задаёт параметр
prompt, Claude работает, не дожидаясь упоминания, подчиняясь только проверкам ниже. По умолчанию результаты появляются в логе запуска workflow, а не в комментарии. Claude может написать в issue или pull request, если этого требует prompt и у него есть инструмент, способный публиковать.
В обоих режимах action выполняет две проверки инициатора до запуска Claude, и запуск завершается ошибкой, если любая проверка его отклоняет:
- Доступ на запись: для событий issue и pull request инициирующий пользователь должен иметь доступ на запись к репозиторию. Чтобы разрешить отдельных пользователей без доступа на запись, задайте
allowed_non_write_usersи передайте собственный параметрgithub_token. События, у которых нет пользователя-автора, например триггерschedule, эту проверку пропускают. - Живой инициатор: для каждого события action отклоняет бота-инициатора, если вы не перечислили его в
allowed_bots; так боты не запускают Claude в цикле. Эта проверка действует и для запусков по расписанию, которые GitHub приписывает пользователю репозитория, обычно тому, кто последним менял расписаниеcronв workflow. Если этот пользователь — бот, перечислите его вallowed_bots.
Основные входные параметры
Это наиболее часто используемые параметры. Каждый соответствует ключу with: в шаге anthropics/claude-code-action.
| Параметр | Описание | Обязателен |
|---|---|---|
prompt | Инструкции для Claude в виде простого текста или вызова skill. Если не задан, Claude отвечает на триггерную фразу. | Нет |
claude_args | Аргументы CLI, передаваемые Claude Code. | Нет |
anthropic_api_key | Ключ Claude API. | Для Claude API, если вы не используете claude_code_oauth_token или workload identity federation. Не используется для Bedrock, Agent Platform или Foundry. |
claude_code_oauth_token | Токен OAuth для аутентификации с подпиской Claude, создаётся командой claude setup-token. | Нет |
github_token | Токен для операций GitHub. Если не задан, action аутентифицируется как Claude GitHub App. | Нет |
plugin_marketplaces | Список Git URL маркетплейсов плагинов, по одному в строке. | Нет |
plugins | Список имён плагинов для установки перед выполнением, по одному в строке. | Нет |
settings | Настройки Claude Code в виде строки JSON или пути к JSON-файлу настроек. | Нет |
trigger_phrase | Триггерная фраза, на которую отвечает Claude. По умолчанию: @claude. | Нет |
use_bedrock | Использовать Amazon Bedrock вместо Claude API. | Нет |
use_vertex | Использовать Google Cloud's Agent Platform вместо Claude API. | Нет |
use_foundry | Использовать Microsoft Foundry вместо Claude API. | Нет |
Полный список параметров — в справочнике по конфигурации action.
Передача аргументов CLI через claude_args
Параметр claude_args принимает любой аргумент CLI Claude Code:
claude_args: "--max-turns 5 --model claude-sonnet-5 --mcp-config /path/to/config.json"
Частые аргументы:
--max-turns: ограничивает число ходов разговора.--model: используемая модель, напримерclaude-sonnet-5. Без этого аргумента action использует модель Claude Code по умолчанию.--mcp-config: путь к конфигурации MCP.--allowedTools: список разрешённых инструментов через запятую. Работает и алиас--allowed-tools.--debug: включает отладочный вывод.
Другие примеры workflow
В каталоге examples лежат готовые workflows для разных сценариев. Примеры на этой странице показывают аутентификацию ключом API. Если вы аутентифицируетесь подпиской Claude, замените в любом примере строку anthropic_api_key на claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}.
Автоматическая проверка pull requests (запуск skill)
Параметр prompt принимает как простой текст, так и вызов skill:
- Для skill из каталога
.claude/skills/вашего репозитория выполнитеactions/checkoutперед шагомanthropics/claude-code-action, чтобы файлы skill были доступны на раннере, а затем передайте/skill-nameкакprompt. - Для skill, упакованного в плагин, установите плагин параметрами
plugin_marketplacesиplugins, а затем передайте/plugin-name:skill-nameс пространством имён какprompt. Параметрpluginsпринимаетplugin-name@marketplace-name, где имя маркетплейса берётся из его собственного манифеста, а не из URL репозитория.
Следующий workflow устанавливает плагин code-review и запускает его skill, когда pull request открыт, обновлён, открыт повторно или помечен как готовый к проверке. Он запускает тот же плагин, что и workflow проверки из быстрой настройки. Используйте такой workflow, когда хотите сами управлять prompt, моделью и триггерами. В публичных репозиториях GitHub не передаёт секреты запускам, вызванным pull requests из форков, поэтому проверка выполняется только для pull requests из веток того же репозитория.
name: Code Review
on:
pull_request:
types: [opened, synchronize, ready_for_review, reopened]
jobs:
review:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 1
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
plugin_marketplaces: "https://github.com/anthropics/claude-plugins-official.git"
plugins: "code-review@claude-plugins-official"
prompt: "/code-review:code-review --comment ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"
claude_args: '--allowedTools "mcp__github_inline_comment__create_inline_comment"'
Две строки в этом workflow определяют, куда попадёт проверка:
--comment: Claude публикует проверку в pull request: встроенным комментарием к каждой найденной проблеме или одним итоговым комментарием, если проблем нет. Без него Claude ничего не публикует, и результаты вы читаете в логе запуска workflow.claude_args: оставьте эту строку, хотя frontmatterallowed-toolsсамого skill называет тот же инструмент, потому что action запускает сервер MCP, публикующий встроенные комментарии, только когда его называет--allowedToolsвclaude_args.
Claude пропускает черновики и закрытые pull requests, pull requests, которые он считает не требующими проверки, например автоматические или тривиальные, и pull requests, в которых уже есть комментарий Claude.
Запуск по расписанию
С параметром prompt action работает в режиме автоматизации по любому событию GitHub, включая расписание cron. При простом текстовом prompt у Claude нет доступа к оболочке и API GitHub, пока вы не выдадите нужные prompt инструменты через --allowedTools в claude_args или правило permissions.allow в параметре settings. Если вместо этого вызывается skill, Claude может использовать инструменты, которые даёт его frontmatter allowed-tools. GitHub запускает workflows по расписанию только из ветки по умолчанию и в публичных репозиториях отключает расписание после 60 дней без активности в репозитории.
Этот workflow каждый день в 09:00 UTC создаёт отчёт в логе запуска workflow. Его строка claude_args выбирает модель и разрешает два инструмента GitHub MCP. Claude читает коммиты и issues через API GitHub с помощью этих инструментов, поэтому шаг checkout можно опустить:
name: Daily Report
on:
schedule:
- cron: "0 9 * * *"
jobs:
report:
runs-on: ubuntu-latest
permissions:
contents: read
issues: read
id-token: write
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-5-5
--allowedTools "mcp__github__list_commits,mcp__github__list_issues"
Стандарты проекта в CLAUDE.md
Создайте файл CLAUDE.md в корне репозитория, чтобы описать руководство по стилю кода, критерии проверки, правила проекта и предпочтительные паттерны. Claude следует этим указаниям, создавая PR и отвечая на запросы. Как его написать, описано в настройке CLAUDE.md.
Безопасность: учётные данные и права
Предупреждение: никогда не коммитьте ключи API или токены OAuth прямо в репозиторий. Всегда храните их как GitHub Secrets и ссылайтесь на них в workflows, например anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}.
- Давайте workflow только нужные права и проверяйте изменения Claude перед слиянием.
- Чтобы аутентифицироваться без хранения долгоживущего секрета, используйте workload identity federation, описанную выше.
- Удаление секрета не аннулирует учётные данные, которые он хранил. Чтобы полностью вывести из обращения ключ API, удалите ключ ещё и в Claude Console.
- Рекомендации по безопасности, включая права и аутентификацию, — в документации по безопасности Claude Code Action. Об обработке и хранении данных Anthropic отсылает к своим страницам об использовании данных и безопасности.
О механизмах Claude Code, определяющих, что инструменту разрешено, см. режимы разрешений и hooks.
Стоимость и расход
Каждый запуск расходует ресурсы двух видов:
- Минуты GitHub Actions: action работает на раннерах, размещённых GitHub, которые расходуют ваши минуты GitHub Actions. Цены и лимиты минут — в документации GitHub по тарификации.
- Токены API: каждое взаимодействие расходует токены в зависимости от длины запросов и ответов, сложности задачи и размера кодовой базы. Актуальные тарифы на токены — на странице цен Claude. Если вы аутентифицируетесь токеном OAuth, запуски используют вашу подписку Claude вместо тарификации API.
Снизить оба вида расходов можно, давая Claude более чёткий контекст и ограничивая объём работы каждого запуска:
- Пишите конкретные запросы
@claude, чтобы Claude понадобилось меньше ходов. - Используйте шаблоны issues, чтобы заранее передавать контекст.
- Держите
CLAUDE.mdкратким, так как Claude читает его при каждом запуске. - Задайте
--max-turnsвclaude_args, чтобы ограничить число итераций. - Задайте тайм-ауты на уровне workflow, чтобы избежать неконтролируемых заданий.
- Используйте управление параллелизмом GitHub (concurrency), чтобы ограничить параллельные запуски.
Устранение неполадок
Claude не отвечает на @claude
- Убедитесь, что GitHub App установлено в репозитории.
- Проверьте, что для репозитория включены workflows.
- Убедитесь, что ваш ключ API или токен OAuth задан в секретах репозитория.
- Проверьте, что комментарий содержит
@claudeкак целое слово, а не/claudeили@claude-bot. - Проверьте, что у комментирующего пользователя есть доступ на запись к репозиторию. Исключения см. выше в разделе «кто может запустить выполнение».
CI не запускается на коммитах Claude
- GitHub не запускает workflows по коммитам, сделанным стандартным
GITHUB_TOKEN. Если вы передаёте actiongithub_token: ${{ secrets.GITHUB_TOKEN }}, уберите это, чтобы он аутентифицировался как Claude GitHub App, или передайте токен собственного приложения. - Проверьте, что триггеры вашего workflow CI включают события, которые порождают пуши Claude, например
pushилиpull_request.
Ошибки аутентификации
- Прежде чем отлаживать workflow, убедитесь, что ключ API или токен OAuth действителен, проверив его локально через
claude. - Для Bedrock, Agent Platform и Foundry см. раздел устранения неполадок на странице облачных провайдеров.
Другие решения — в FAQ action.
Удаление и переход с beta
- Файлы workflow: удалите из
.github/workflows/workflows, использующиеanthropics/claude-code-action. Если вы применяли быструю настройку, ищитеclaude.ymlи, если выбирали workflow проверки,claude-code-review.yml. - Секреты: удалите секрет
ANTHROPIC_API_KEYилиCLAUDE_CODE_OAUTH_TOKENиз репозитория, а также из секретов Actions уровня организации, если вы делали его общим для репозиториев. - GitHub App: удалите Claude GitHub App в настройках репозитория или организации в разделе GitHub Apps, но только если не используете его для другой функции Claude, например Code Review или web auto-fix.
- Если ваши workflows всё ещё ссылаются на
anthropics/claude-code-action@beta, обновите их до v1: замените@betaна@v1в строкеuses; удалите параметрmode, так как action теперь определяет режим автоматически; заменитеdirect_promptнаprompt; а параметры CLI, такие какmax_turnsиmodel, перенесите вclaude_args.
FAQ
После упоминания @claude ничего не происходит. Что проверить в первую очередь?
По порядку: GitHub App установлено в репозитории, workflows включены, ключ API или токен OAuth задан в секретах репозитория, @claude в комментарии — целое слово (не /claude и не @claude-bot), а у комментирующего пользователя есть доступ на запись. Бот-инициатор отклоняется, если вы не перечислили его в allowed_bots.
Что выбрать: ключ API или токен OAuth?
Подойдёт любой. ANTHROPIC_API_KEY — это ключ API из Claude Console, а CLAUDE_CODE_OAUTH_TOKEN аутентифицируется с вашей подпиской Claude на тарифах Pro, Max, Team и Enterprise. С токеном OAuth запуски используют вашу подписку вместо тарификации API. Для секрета, общего для репозиториев организации, страница Anthropic советует ключ API, потому что токен OAuth привязан к подписке того, кто выполнил claude setup-token.
Можно ли направить этот action на прокси или собственный base URL?
Страница Anthropic не документирует параметр собственного base URL или шлюза, поэтому на этой странице об этом ничего не утверждается. Страница описывает два пути: прямой вызов Claude API по умолчанию (с ключом API или токеном OAuth) либо работа через ваш собственный облачный аккаунт с use_bedrock, use_vertex или use_foundry. Настройка самого Claude Code на вашей машине описана в настройке Claude Code.
Источники
- Claude Code GitHub Actions (настройка, примеры workflow, параметры, права, стоимость, устранение неполадок; проверено 30 октября 2026 г.)