Skip to main content
Auto-fix writes a code change for an issue, runs your tests, and opens a pull request on GitHub. Squasher never merges the pull request. You review it and decide.

Before you start

  • Your organization is on the Team plan or above. See Plans and limits.
  • The organization has AI credits left. An auto-fix that opens a pull request uses more credits than an attempt that ends without one. See AI credits.
  • The Squasher GitHub App is installed, and a repository is linked to the project. See GitHub.
  • The repository has tests that the agent can run. Without a passing test run, Squasher does not open a pull request.

Start a fix

  1. Open the issue.
  2. In the Fix card, select Create fix.
The fix runs in the background. The Fix card shows the status of the run. When the pull request opens, select Open pull request. Open run shows the work of the agent in a chat. After a run ends, the button is Try the fix again. The API, the CLI, and MCP do not start or list fix runs. In the issue list of the API, the automation.fix_run object shows the status of the latest fix run and its pull request link. See Error groups. To ask about an issue from another place, ask the Squasher Agent in dashboard chat, in Slack, or with squasher ask. Paste the link to the issue. See Squasher Agent.

Let Squasher start fixes on its own

When automatic AI triage decides that a new issue has a safe fix (the disposition remediate), Squasher starts a fix run on its own. This needs at least one piece of evidence in the triage result. See AI triage. Automatic fixes are on by default. A project gets up to 20 automatic fixes a day. After a pull request for an issue, Squasher waits 24 hours before it tries another one for that issue. To turn them off:
  1. Open your project and select Settings in the sidebar.
  2. Select the Response Policy tab.
  3. Turn off Generate fixes after triage, then select Save policy.

How a fix is made

1

The agent writes the change

The agent clones the linked repository on a new branch, squasher/fix- and eight characters. It reads the issue and its triage summary, and changes the code. When it can, it adds a regression test.
2

Squasher runs the tests again

The agent reports up to three test commands. Squasher runs them again itself, with a limit of 5 minutes for each command. If a command fails, or no command is reported, the run stops and no pull request opens.
3

Squasher opens the pull request

The title is [Squasher] Fix: followed by the error type and message. The description has the sections Root cause, Fix, and Validation, with the test output.
Squasher always needs a passing test run before it opens a pull request. The setting Require passing tests before a fix is ready does not change this.

Next steps

Connect GitHub

Install the GitHub App and link a repository.

AI triage

See when triage runs and what it decides.