Skip to content
Docs · Holds and ship anyway

Help

Held releases and ship anyway

How Protect holds a release, how to release it anyway, and how holds work for Lovable, Bolt and Replit apps.

Which plans hold releases?

Protect. On Essentials every push and pull request is checked and you get alerts when something breaks, but releases are not held. Move to Protect when your app has users who must never see a broken release.

How does a hold work?

Every push is checked. On Protect, a release that would break one of your rules is held at your host until it is fixed or someone ships it anyway. Holds go through GitHub deployment protection: in the repository, open Settings, then Environments, then production, and enable "Stableship AI". In the app, Releases, then the Deployments tab, lists what is held and why.

What if Stableship itself fails?

An error on our side never holds a low-risk release: it goes out. A change that touches sign-in, data or payments stays held when the check could not finish, because rolling back code does not undo data changes. You can always ship it anyway.

How do I ship anyway?

Open the release (Releases, or its Deployments tab) and choose Ship anyway, or use the button in Slack or the one-tap link in the email. Stableship always asks for a reason, and keeps it in the activity log with your name. If the app needs more than one approval to ship anyway, the others are asked and the release waits for them.

I build in Lovable, Bolt or Replit

These builders publish when you click publish, so Stableship checks each change before you publish. When a change breaks a rule, Stableship says "don't publish yet". If you already published it, publish the last good version again, or copy the revert from the release page and give it to your coding agent: it reverts the commit and pushes. Every finding comes with a prompt you can paste into the builder's chat.

For your coding agent: this page as Markdown