Docs
Your first freeze
Freeze a branch for two minutes, watch the fwozen check land on every open pull request, and let it thaw itself.
The safest way to see Fwozen work is a two-minute freeze on a real branch. It lifts itself, so the worst case is that a few pull requests wait two minutes.
Freeze it
Three equivalent ways, and all three end up in the same audit log with a real actor:
curl -X POST https://api.fwozen.com/v1/freezes \
-H "Authorization: Bearer $FWOZEN_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"scope": { "kind": "branches", "branchIds": ["br_..."] },
"reason": "Testing Fwozen",
"durationMinutes": 2
}'From Slack: /fwozen freeze api-server 2h "4.2 cut". From the dashboard: the freeze composer, where the impact preview tells you how many repositories and open pull requests are about to be affected before you commit.
What happens next
- Fwozen writes the
fwozencheck to the head commit of every open pull request in scope. You can watch the fan-out complete — for a few hundred repositories this is typically under a minute. - Each pull request shows the check as failing, with your reason verbatim: Frozen by @you · “Testing Fwozen” · thaws in 1m 48s.
- Any pull request already in a merge queue has its live merge-group head failed, so it cannot merge behind the freeze.
- At expiry the freeze lifts itself, the checks flip to passing, and merges flow again.
Thawing
Every freeze can be lifted from the dashboard, Slack, or the API, and lifting is never blocked by a failed billing state or an in-flight fan-out. A freeze you cannot lift is a worse bug than a freeze that did not apply.
Last updated 29 July 2026