> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pullfrog.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Comparisons

> How Pullfrog compares with the vendor agent actions for GitHub and with GitHub Copilot cloud agent.

Several AI coding agents now run on GitHub. Pullfrog runs the same agent CLIs on your GitHub Actions runner and adds event triggers set in a console, tools built for CI, context that carries from run to run, and a sandboxed shell.

| Product | From | Where the agent runs |
| - | - | - |
| [claude-code-action](https://github.com/anthropics/claude-code-action) | Anthropic | Your Actions runner |
| [Codex on GitHub](https://learn.chatgpt.com/docs/third-party/github) | OpenAI | OpenAI's cloud |
| [run-gemini-cli](https://github.com/google-github-actions/run-gemini-cli) | Google | Your Actions runner |
| [OpenCode GitHub action](https://opencode.ai/docs/github/) | OpenCode | Your Actions runner |
| [Copilot cloud agent](https://docs.github.com/en/copilot/concepts/agents/cloud-agent/about-cloud-agent) | GitHub | An ephemeral GitHub-hosted environment |
| **Pullfrog** | Pullfrog | Your Actions runner, GitHub-hosted or [self-hosted](/security#self-hosted-runners) |

Pullfrog runs Claude Code for Anthropic models and OpenCode for every other provider, with an experimental Codex CLI harness for organizations that opt in ([model resolution](/models#model-resolution)). Copilot also offers Claude and Codex as agents to Copilot Pro+ and Enterprise customers, in [public preview since February 2026](https://github.blog/changelog/2026-02-04-claude-and-codex-are-now-available-in-public-preview-on-github/).

## Models and credentials

Anthropic's claude-code-action runs Claude, Codex runs OpenAI models, Google's run-gemini-cli runs Gemini, and Copilot cloud agent picks from [GitHub's model list](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/cloud-agent/changing-the-ai-model). Pullfrog runs any major provider, and each account chooses how to pay:

* Your own API key, including Amazon Bedrock, Google Vertex AI, Azure OpenAI, and OpenAI-compatible endpoints
* A Claude, ChatGPT, Grok, or Kimi Code subscription you already pay for
* Pullfrog Router, one prepaid balance across providers at provider cost with no markup
* Free models, with no bill at all

See [model access](/model-access) for the four routes.

## Triggers

Each automation is a toggle in the repo console. The vendor actions express the same events as workflow filters in YAML, which you write and maintain in each repository.

| Event | What Pullfrog does |
| - | - |
| A `@pullfrog` mention in an issue, PR, or review comment | Answers, plans, or changes code, as asked |
| PR opened or marked ready for review | Reviews it |
| New commits on a reviewed PR | Re-reviews only the new commits |
| Issue opened | Posts quick links, writes a plan, implements it, or follows your instructions; can also label it |
| Review submitted on a Pullfrog PR | Applies the feedback and pushes |
| CI fails on a Pullfrog PR or a reviewed PR | [Fixes the failure](/coding-tasks#auto-fix-ci-failures) |
| Prompt typed in the console | Runs the task |

Editing a mention cancels its run and starts a new one with the new text. For a schedule, use the [headless action](/headless-action) with GitHub's own `on: schedule` trigger.

## PR review

Pullfrog re-reviews a PR as new commits land, and closes out its own findings once they are fixed.

* A re-review reads a `git range-diff` against the last reviewed commit, so its feedback covers only what changed.
* Before it reviews, Pullfrog checks its own open findings, replies "Addressed in" with the commit, and resolves each thread the new commits fixed. Threads from human reviewers stay open for those reviewers.
* The reviewer can hand open questions to read-only specialist subagents, several in parallel.
* **Fix all** and **Fix 👍s** on a review turn its comments into a commit ([address reviews](/pr-reviews#address-reviews)).
* With auto-merge on, an approval hands the PR to GitHub's native auto-merge, so branch protection still decides when it merges ([auto-merge](/pr-reviews)).

## Tools built for CI

An agent in CI needs more than the GitHub API. Pullfrog ships these tools in the action, already authenticated:

| Tool | What the agent gets |
| - | - |
| CI logs | An index of the relevant lines from a failed check suite, a curated excerpt, and the full log on disk |
| PR checkout | The PR branch checked out, fork pushes configured, and the diff written to a file |
| Dependency install | Dependencies install in the background while the agent reads code |
| File upload | A public URL for a screenshot or artifact, ready to embed in a comment |
| [Browser](/tools#browser) | Headless Chromium for checking a running app and taking screenshots |
| Progress comment | One comment, updated in place with the agent's task list |
| GitHub | Reviews with inline comments, replies, thread resolution, issues, PRs, and labels |

See [Tools](/tools) for the full list.

## Context between runs

Each review updates a PR-level snapshot that the next review of that PR reads first. Repo-level learnings collect durable facts about the codebase, and you can edit them in the repo console ([learnings](/learnings)).

## Hooks

The **Hooks** card in the repo console runs your scripts at fixed points in a run. They run in the same sandbox and scrubbed environment as the agent's shell.

<Frame>
  <img src="https://mintcdn.com/pullfrog/klps40MoSQ5FJkiz/images/hooks-card.png?fit=max&auto=format&n=klps40MoSQ5FJkiz&q=85&s=db9875275aad8615ac45ae067a99970f" alt="The Hooks card: Repo setup script, Post-checkout script and Pre-push script" width="1648" height="868" data-path="images/hooks-card.png" />
</Frame>

| Hook | When it runs |
| - | - |
| Repo setup script | Once, before the agent starts |
| Post-checkout script | After every branch checkout |
| Pre-push script | Before a push. If it fails, the agent gets the output and can fix the problem; later pushes in the run skip the hook |

## Shell and credential isolation

The agent has a real shell, git, and network access, but not your secrets. See [Security](/security) for each layer.

* Shell commands run in a Linux namespace sandbox. In Restricted mode, which is always on for public repositories and the default for private ones, a default-deny allowlist keeps secrets in the runner environment out of the shell.
* Git authenticates with a one-time code per operation, so the GitHub token never enters the agent's environment.
* Review and plan runs cannot push or commit code.
* Pushes can be limited to feature branches, or turned off.
* Runs from non-collaborators are off by default. When you turn them on, those runs are always capped at Restricted.

By comparison, claude-code-action scrubs secrets from subprocesses and adds PID-namespace isolation only when it is set to accept triggers from users without write access ([its security docs](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md)).

## Cross-repository runs

With the `--xrepo` flag, one run can read and change several repositories in your organization ([cross-repo](/flags#cross-repo)). Copilot cloud agent works in [one repository per task](https://docs.github.com/en/copilot/concepts/agents/cloud-agent/about-cloud-agent).

## Pricing and license

The action is open source under the MIT license at [pullfrog/pullfrog](https://github.com/pullfrog/pullfrog). Personal accounts and public repositories run free, and private repositories in an organization take one flat monthly plan per organization, with no per-seat charge ([billing](/billing)). Active open source projects can apply for [funded models](/models#pullfrog-for-oss).

## GitHub Copilot cloud agent

Copilot cloud agent is the closest alternative. It is built into github.com and supports MCP servers, hooks, custom agents, and [automations that start sessions on events or a schedule](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/cloud-agent/start-copilot-sessions).

| | Copilot cloud agent | Pullfrog |
| - | - | - |
| Where it runs | An ephemeral GitHub environment with [restricted internet access](https://docs.github.com/en/copilot/concepts/agents/cloud-agent/risks-and-mitigations) | Your Actions runner, including self-hosted runners |
| Models | [GitHub's model list](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/cloud-agent/changing-the-ai-model) | Any provider, with your key, a subscription, Pullfrog Router, or free models |
| Price | A [Copilot plan](https://docs.github.com/en/copilot/get-started/plans), per granted seat on Business and Enterprise, plus [one premium request per session](https://docs.github.com/en/copilot/concepts/billing/copilot-requests) times the model's rate | A flat plan per organization for private repositories; models paid separately |
| Who can trigger it | [Only users with write access](https://docs.github.com/en/copilot/concepts/agents/cloud-agent/risks-and-mitigations) | Collaborators; non-collaborators if you allow them, capped at Restricted |
| Repositories per task | One | Several, with `--xrepo` |
| Memory | [Copilot Memory](https://docs.github.com/en/copilot/concepts/agents/copilot-memory), in public preview; entries expire after 28 days unused | PR snapshots and repo learnings you can edit |
| Built-in tools | [GitHub and Playwright MCP servers](https://docs.github.com/en/copilot/concepts/agents/cloud-agent/mcp-and-cloud-agent); Playwright reaches only localhost | GitHub tools, CI logs, uploads, a browser, and background dependency install |

Copilot is ahead on reach and first-party integration:

* Sessions start from [GitHub, GitHub Mobile, IDEs, the GitHub CLI, the REST API, Jira, Slack, Microsoft Teams, Azure Boards, Linear, and Raycast](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/cloud-agent/start-copilot-sessions). Pullfrog starts from GitHub and its console.
* Commits are authored by Copilot with the assigning developer as co-author, and workflows on its PRs wait for approval from a user with write access ([risks and mitigations](https://docs.github.com/en/copilot/concepts/agents/cloud-agent/risks-and-mitigations)).
* [Copilot code review](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/request-a-code-review/configure-automatic-review) can review every new PR and each new push, set by personal setting or ruleset, under the same subscription.

## Feature matrix

| | claude-code-action | Codex on GitHub | run-gemini-cli | OpenCode action | Copilot cloud agent | **Pullfrog** |
| - | - | - | - | - | - | - |
| Runs on | Your runner | OpenAI's cloud | Your runner | Your runner | GitHub's cloud | **Your runner** |
| Models | Claude | OpenAI | Gemini | Any OpenCode provider | GitHub's model list | **Any provider** |
| Pays for models with | [Anthropic key or Claude subscription, Bedrock, Vertex AI, Foundry](https://github.com/anthropics/claude-code-action/blob/main/action.yml) | [ChatGPT plan](https://learn.chatgpt.com/docs/pricing) | Gemini API or Vertex AI | Your provider keys | Copilot premium requests | **Your key, a subscription, Pullfrog Router, or free models** |
| Triggers configured in | Workflow YAML | Codex settings and `@codex` | Workflow YAML | Workflow YAML | GitHub UI and automations | **Repo console** |
| Automatic PR review | With a workflow | Yes | Yes | With a workflow | With Copilot code review | **Yes** |
| Context kept between runs | Not documented | Not documented | Not documented | Not documented | Copilot Memory (preview) | **PR snapshots and repo learnings** |
| Secrets scrubbed from the shell | Only when non-write users may trigger | Not applicable | Not documented | Not documented | Not documented | **Default-deny allowlist** |
| Open source | MIT | No (cloud service) | Apache-2.0 | MIT | No | **MIT** |

## When each option fits

* **A vendor action** fits when you use one vendor's models, want an `@mention` or a review step, and are happy to own the workflow YAML for each event.
* **Copilot cloud agent** fits when your team already pays for Copilot seats, starts work from IDEs, Slack, Jira, or Linear, and works in one repository per task.
* **Pullfrog** fits when you want the agent to react to PRs, reviews, issues, and CI failures without YAML, to choose models and credentials per account, to carry context across runs, or to accept restricted runs from outside contributors. Start with [getting started](/getting-started).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.