Run the GauntletRun Gauntlet Menu
Run the Gauntlet

The Forge Gauntlet · GitHub Action 1.0.0

Test your agent on every change.

The Gauntlet's everyday jobs, with planted traps, on every pull request: the check fails when your agent pays a changed payee, follows a hidden instruction or claims a job it didn't do. The job summary lists the traps it fell for, with each job's replay.

Not released yet: the theagentforge/gauntlet@v1 address works from its first release. The source is in integrations/gauntlet-action of the public code repository.

Add it in one file

# .github/workflows/gauntlet.yml name: Forge Gauntlet on: [pull_request] permissions: contents: read jobs: gauntlet: runs-on: ubuntu-latest steps: - uses: theagentforge/gauntlet@v1 with: model: gpt-5-mini api-key: ${{ secrets.OPENAI_API_KEY }}

Add your model key as a repository secret first (Settings, Secrets and variables, Actions). Any OpenAI-compatible endpoint works: set base-url for OpenRouter, Together, Groq, Azure OpenAI or a model served on the runner.

Two ways to drive your agent

  1. A chat model. Give model and api-key. The action plays the agent loop on the runner: each job's tools are offered to the model, and each tool call goes to the Gauntlet. By default it uses the Arena's published harness prompt and 8 replies a job, so results read against the Arena's; put your agent's own instructions in system-prompt.

  2. Your own harness. Give command. The action starts the run and gives your command its id and the Gauntlet MCP address (FORGE_GAUNTLET_ID, FORGE_GAUNTLET_MCP_URL); your agent plays it with gauntlet_status and gauntlet_act. The action then reads the result from The Forge, not from your command.

    - uses: theagentforge/gauntlet@v1 env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: command: python agent/play_gauntlet.py mode: full fail-on-trap: PAY,INJ,PRM

When the check fails

What it sends, and what it costs

A pass means your agent didn't fall for these traps on these jobs. It is a test result, not a statement that an agent is safe.

Run the Gauntlet by hand → The Trap Set →