Skip to content

GitHub

Use Claw in GitHub issues and pull-requests.

Claw integrates with your GitHub workflow. Mention /claw or /oc in your comment, and Claw will execute tasks within your GitHub Actions runner.


Features

  • Triage issues: Ask Claw to look into an issue and explain it to you.
  • Fix and implement: Ask Claw to fix an issue or implement a feature. And it will work in a new branch and submits a PR with all the changes.
  • Secure: Claw runs inside your GitHub’s runners.

Installation

Run the following command in a project that is in a GitHub repo:

Terminal window
claw github install

This will walk you through installing the GitHub app, creating the workflow, and setting up secrets.


Manual Setup

Or you can set it up manually.

  1. Install the GitHub app

    Head over to github.com/apps/claw-agent. Make sure it’s installed on the target repository.

  2. Add the workflow

    Add the following workflow file to .github/workflows/claw.yml in your repo. Make sure to set the appropriate model and required API keys in env.

    .github/workflows/claw.yml
    name: claw
    on:
    issue_comment:
    types: [created]
    pull_request_review_comment:
    types: [created]
    jobs:
    claw:
    if: |
    contains(github.event.comment.body, '/oc') ||
    contains(github.event.comment.body, '/claw')
    runs-on: ubuntu-latest
    permissions:
    id-token: write
    steps:
    - name: Checkout repository
    uses: actions/checkout@v4
    with:
    fetch-depth: 1
    - name: Run Claw
    uses: PixelML/claw/github@latest
    env:
    ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
    with:
    model: anthropic/claude-sonnet-4-20250514
    # share: true
    # github_token: xxxx
  3. Store the API keys in secrets

    In your organization or project settings, expand Secrets and variables on the left and select Actions. And add the required API keys.


Configuration

  • model: The model to use with Claw. Takes the format of provider/model. This is required.

  • agent: The agent to use. Must be a primary agent. Falls back to default_agent from config or "build" if not found.

  • share: Whether to share the Claw session. Defaults to true for public repositories.

  • prompt: Optional custom prompt to override the default behavior. Use this to customize how Claw processes requests.

  • token: Optional GitHub access token for performing operations such as creating comments, committing changes, and opening pull requests. By default, Claw uses the installation access token from the Claw GitHub App, so commits, comments, and pull requests appear as coming from the app.

    Alternatively, you can use the GitHub Action runner’s built-in GITHUB_TOKEN without installing the Claw GitHub App. Just make sure to grant the required permissions in your workflow:

    permissions:
    id-token: write
    contents: write
    pull-requests: write
    issues: write

    You can also use a personal access tokens(PAT) if preferred.


Supported Events

Claw can be triggered by the following GitHub events:

Event TypeTriggered ByDetails
issue_commentComment on an issue or PRMention /claw or /oc in your comment. Claw reads the issue/PR context and can create branches, open PRs, or reply with explanations.
pull_request_review_commentComment on specific code lines in a PRMention /claw or /oc while reviewing code. Claw receives file path, line numbers, and diff context for precise responses.
scheduleCron-based scheduleRun Claw on a schedule using the prompt input. Useful for automated code reviews, reports, or maintenance tasks. Claw can create issues or PRs as needed.
pull_requestPR opened or updatedAutomatically trigger Claw when PRs are opened, synchronized, or reopened. Useful for automated reviews without needing to leave a comment.

Schedule Example

Run Claw on a schedule to perform automated tasks:

.github/workflows/claw-scheduled.yml
name: Scheduled Claw Task
on:
schedule:
- cron: "0 9 * * 1" # Every Monday at 9am UTC
jobs:
claw:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
pull-requests: write
issues: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Run Claw
uses: PixelML/claw/github@latest
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
with:
model: anthropic/claude-sonnet-4-20250514
prompt: |
Review the codebase for any TODO comments and create a summary.
If you find issues worth addressing, open an issue to track them.

For scheduled events, the prompt input is required since there’s no comment to extract instructions from.

Note: Scheduled workflows run without a user context to permission-check, so the workflow must grant contents: write and pull-requests: write if you expect Claw to create branches or PRs during a scheduled run.


Pull Request Example

Automatically review PRs when they are opened or updated:

.github/workflows/claw-review.yml
name: claw-review
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
jobs:
review:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
pull-requests: read
issues: read
steps:
- uses: actions/checkout@v4
- uses: PixelML/claw/github@latest
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
with:
model: anthropic/claude-sonnet-4-20250514
prompt: |
Review this pull request:
- Check for code quality issues
- Look for potential bugs
- Suggest improvements

For pull_request events, if no prompt is provided, Claw defaults to reviewing the pull request.


Custom prompts

Override the default prompt to customize Claw’s behavior for your workflow.

.github/workflows/claw.yml
- uses: PixelML/claw/github@latest
with:
model: anthropic/claude-sonnet-4-5
prompt: |
Review this pull request:
- Check for code quality issues
- Look for potential bugs
- Suggest improvements

This is useful for enforcing specific review criteria, coding standards, or focus areas relevant to your project.


Examples

Here are some examples of how you can use Claw in GitHub.

  • Explain an issue

    Add this comment in a GitHub issue.

    /claw explain this issue

    Claw will read the entire thread, including all comments, and reply with a clear explanation.

  • Fix an issue

    In a GitHub issue, say:

    /claw fix this

    And Claw will create a new branch, implement the changes, and open a PR with the changes.

  • Review PRs and make changes

    Leave the following comment on a GitHub PR.

    Delete the attachment from S3 when the note is removed /oc

    Claw will implement the requested change and commit it to the same PR.

  • Review specific code lines

    Leave a comment directly on code lines in the PR’s “Files” tab. Claw automatically detects the file, line numbers, and diff context to provide precise responses.

    [Comment on specific lines in Files tab]
    /oc add error handling here

    When commenting on specific lines, Claw receives:

    • The exact file being reviewed
    • The specific lines of code
    • The surrounding diff context
    • Line number information

    This allows for more targeted requests without needing to specify file paths or line numbers manually.