# GitHub Actions: Claude в задачах и пулл-реквестах

Курс: Claude Code: уровень профи — https://zero2claude.ru/learn/claude-code-pro
Канонический URL: https://zero2claude.ru/learn/claude-code-pro/3-3-github-actions

Официальный экшен запускает Claude Code шагом в CI. Без prompt он отвечает на упоминание @claude в задачах и пулл-реквестах, с prompt — работает сам. Лимиты, права токена и время выполнения живут прямо в файле workflow.

Claude Code умеет работать прямо в репозитории на GitHub: отвечать в задачах, разбирать пулл-реквесты, выполнять поручения по расписанию. Для этого есть официальный экшен — `anthropics/claude-code-action`.

## Два режима

- **Без `prompt`** экшен ждёт упоминания `@claude` в задаче или пулл-реквесте и отвечает комментарием. Например, ты открываешь задачу «@claude, что делает src/links.js? Ничего не меняй» — и Claude отвечает в ней.
- **С `prompt`** экшен выполняет заданное поручение сам, без упоминания — например, по расписанию.

## Быстрая настройка

Внутри сессии в своём репозитории:

```
/install-github-app
```

Claude Code поставит GitHub App, сохранит учётные данные в секрет репозитория — `ANTHROPIC_API_KEY` или `CLAUDE_CODE_OAUTH_TOKEN` — и откроет пулл-реквест с готовым файлом workflow. Когда GitHub спросит, к каким репозиториям дать доступ, выбери **Only select repositories** и только нужный.

## Лимиты — в файле

За клавиатурой никого нет, поэтому рамки записываются прямо в workflow. Скелет выглядит так (точный список прав и входов возьми из файла, который сгенерировала быстрая настройка):

```yaml
name: Claude
jobs:
  claude:
    runs-on: ubuntu-latest
    timeout-minutes: 15
    permissions:
      contents: read
    steps:
      - uses: actions/checkout@v4
      - uses: anthropics/claude-code-action@v1
        with:
          claude_args: "--max-turns 5"
```

- `claude_args` передаёт флаги Claude Code — `--max-turns`, `--allowedTools` и другие из прошлых уроков;
- `permissions` урезает права токена GitHub для этого задания;
- `timeout-minutes` ограничивает время выполнения.

Если prompt написан текстом, а не через навык, у Claude не будет доступа к оболочке, пока ты явно не разрешишь нужные команды.

## Цена

Каждый прогон тратит минуты GitHub Actions — в приватном репозитории из лимита аккаунта — и токены: со счёта API-ключа или из плана, если это токен подписки. `--max-turns` и `timeout-minutes` ограничивают и то и другое.

**Осторожно.** 
Тег @v1 переезжает на каждый новый релиз экшена, а каждый релиз фиксирует свою версию Claude Code — твой workflow может внезапно заработать на версии, которую ты не проверял. GitHub прямо пишет: неизменяемый релиз даёт только привязка к полному SHA коммита. Компромисс полегче — конкретный тег релиза вместо @v1.

**Практика в терминале.** , остальные — через >>." />
