- It resolves a plan and verifies the change.
- When fixing is on, it fixes what failed and commits the fix.
- It reports on the pull request and passes or fails the job.
The run, step by step
1
Plan
The action decides the mode, the target and the changeset, and logs them together with the reason for the mode and the minimum
timeout-minutes the run needs. It stops here, before installing anything, when the run can’t work: no target, a fork pull request on a comment run, or an invalid input value.2
Verify
On IronBee: the action installs the IronBee CLI and runs
ironbee verify run web. That starts a verification run on IronBee and follows it until it ends.- For an app that runs on the runner, the action installs, builds and starts it first, and IronBee reaches it through a reverse tunnel.
- The recording, screenshots and logs are kept in the IronBee Console.
.ironbee/config.json and runs ironbee install --client claude. Claude Code then verifies the change through IronBee DevTools. The evidence is uploaded as a workflow artifact and to IronBee.3
Fix
This step runs when the verification fails, fixing is on (
verification_apply_fix) and an Anthropic credential is set.- On IronBee: a Claude Code run on your runner edits the files to fix the reported issues. For an app that runs on the runner, the action then restarts it and runs a second verification. A deployed URL isn’t re-verified, because the deployment still serves the code that was deployed.
- On your runner: the agent fixes and re-verifies in the same session.
4
Commit
The action commits and pushes the fix itself; the agent only edits files.
- On a pull request, the fix goes to the pull request branch.
- Otherwise it goes to a new
ironbee/fix-<sha7>-<run_id>branch with a pull request. - A fix whose re-verification fails is not pushed.
5
Report
The report is posted as a pull request comment, updated in place on later runs, and written to the workflow run’s summary. It links to the run in the IronBee Console.
6
Pass or fail
The last step fails the job when the verification fails or ends without a verdict.
What gets verified
The action binds each run to the change behind the event, so the verification looks at what changed rather than at the whole repository.
To verify the application without the repository, for example a private repository that the IronBee GitHub App doesn’t cover, set
ironbee_bind_repository: false.
Where results appear
- On the pull request: the report comment, with a link to the run in the console.
- In the workflow run: the job summary and the job’s pass or fail result. The
verdict,mode,job_id,job_urlandartifacts_urloutputs are available to later steps. - In the IronBee Console: runs on IronBee appear on the project’s Verifications tab with the trigger GitHub Actions. The project is the repository’s GitHub project unless you set
ironbee_project. See Verifications.
What’s next?
Platform and local verification
Choose where the verification runs.
Running in CI
Triggers, fix behavior and the report.