Switch models or undo a fix.

A model that keeps missing the point gets replaced with one comment. A follow-up that went the wrong way leaves the branch with one click and a preview. Both happen on the PR, and the next comment carries on from there.

Describe
Run isolated
Review in GitHub

Feature overview

You start with
A ProPR pull request that went sideways
You use
/switch · /use · Undo Changes
Takes
One comment, or one click and a confirmation

Switch the PR's model

Two follow-ups in, the same bug survives. Comment /switch with a configured model. ProPR swaps the PR's llm-* label, and every later comment, command and Ultrafix cycle on the PR runs on the new model.

@maintainercommented on this pull request

/switch codex-astra

On its own, /switch changes the label and touches no code.

Add instructions to run it now

Lines below the command become a follow-up for the new model, queued in the same step.

@maintainercommented on this pull request

/switch claude-fable51

The retry still races the timeout. Serialize the two paths and add a test that reproduces the race.

Want one run from another model and then the old one back? Use /use in place of /switch; the label keeps its value.

Open the undo link

ProPR's follow-up completion comments carry an Undo Changes link for their commit. It opens a preview in ProPR before anything moves.

@propr-dev[bot]example response

Applied the follow-up. Moved the order summary below the form on phones.

Check what leaves the branch

The preview names the commit that becomes the new head and every commit that goes. Undoing a commit also removes the commits after it.

The undo link’s preview: the merge commit becomes the new head and the follow-up commit after it is removed
The merge commit becomes the new head; the follow-up leaves the branch.

Confirm the revert

ProPR resets the PR branch to the new head and force-pushes, as a signed system task. It first checks that the PR head still matches the one the request saw, so a revert never lands on a branch that moved in the meantime. From the terminal, propr task revert does the same, with --dry-run for the preview.

Pick the lever that fits.

/switch

The model is wrong for this PR. The new one takes every later run.

/use

You want a second opinion on one run. The PR keeps its model.

Undo Changes

The last follow-up made things worse. The branch goes back to the commit before it.

Model IDs come from your configured agents; the llm- prefix is optional. See every command in GitHub comment control.

What you get

A stuck PR handed to a model that can finish it, or a branch back where it was before the last follow-up, both recorded on the PR.

GitHub comment control → All playbooks