Break a stuck lock
Releasing a lock whose holder is gone.
Written By Dustin
Last updated 19 minutes ago
tovio forge lock list --remote <host:port>tovio forge lock break <path> --remote <host:port>list is a read of collaboration metadata rather than content, so it needs no admin role — though on a Forge with its connection ACL enabled it is still member-gated, and a non-member gets TVO-FORGE-004. break force-releases a lock regardless of holder and is an administrative action: the request is signed and gated server-side on the forge-admin role. A non-admin gets a clean 403 and nothing changes.
--cert is optional on both and defaults to this repository's .tovio/relay-cert.der, which is the same-machine convenience.
Before you break one
Ask the holder. A lock exists because concurrent edits to that file destroy work; breaking it does not make the file mergeable, it just removes the claim. If they have an unsaved local edit, breaking the lock is how you lose it.
The usual causes
- The holder left the company or changed machines.
- A long TTL was taken and then forgotten.
- A process crashed while holding one.
Preventing it
Every lock has a required TTL, so the real failure mode is a TTL that is far longer than the work. A short TTL that gets renewed is better than a long one that outlives its purpose.
It is audited
Do not expect a notification to reach the holder on its own: the break is recorded, not broadcast. Tell them. Breaking a lock is recorded in the Forge's audit log, attributed to you. That is deliberate — it is an override of someone else's claim.
The holder's local record does not vanish
Breaking the Forge's lock releases the authoritative one. A tovio locks entry on the former holder's machine is their own local state, which they clear with tovio unlock (which releases the Forge lock too, when one is still held) or which expires with its TTL. Do not read a stale local entry as evidence the break failed — check tovio forge lock list.