Recover access to your workspace
Grant a new device workspace decryption access, whether you still have an Authorized Device or have lost them all.
Getting a new device into your workspace depends on what you still have. If you have at least one Authorized Device, adding another only takes an approval. If you've lost every Authorized Device, your Recovery Key is how you grant a fresh device decryption access. This guide walks through both, then shows how to verify access and rotate your key afterward.
Before you start
You need Bowline installed on the new device and the ability to sign into your account. Beyond that, you need one of two things.
- An existing Authorized Device you can run commands on, or
- Your Recovery Key words, generated earlier with
bowline recover create.
Signing in proves your identity, but it doesn't release workspace decryption keys on its own. One of the two above must create the grant.
If you still have an Authorized Device
Approve the new device from one you already trust.
- On the new device, run
bowline setup --root ~/Code. It authenticates your account and creates a Device Approval Request with a short matching code. - On an Authorized Device, run
bowline status --root ~/Codeto see the pending request, including the device name, request age, and matching code. - Confirm the matching code is identical on both devices.
- Run
bowline device approve --root ~/Code --code <matching-code>to approve the matching request, orbowline device approve --root ~/Code --request <id>for a specific one. Add--yesto skip the prompt. - Verify access with
bowline status --root ~/Codeon the new device.
For more detail on this path, see Device trust.
If you have lost every Authorized Device
When no Authorized Device is available, use your Recovery Key to grant the new device access.
You need your Recovery Key words
This path requires the words you stored when you ran bowline recover create.
Without them and without an Authorized Device, you cannot recover your
workspace data: the service never holds your workspace keys.
-
On the new device, install Bowline and run
bowline setup --root ~/Code. This authenticates your account and creates a pending Device Approval Request. Account sign-in alone does not release decryption keys. -
Find your Recovery Key id with
bowline recover status. Use--jsonif you're scripting. -
Grant this device access by giving your Recovery Key words to
bowline recover use <id>on stdin. It reads the words from stdin rather than from arguments, so they never land in your shell history:printf '%s' "$RECOVERY_WORDS" | bowline recover use <id>Never write your Recovery Key words to a file. They are the highest-value secret in Bowline, and a file on disk outlives the moment you needed it.
Bowline decrypts the recovery envelope locally, creates the pending request, publishes a self-addressed encrypted grant, accepts it, and stores the workspace key locally. The device is now an Authorized Device.
Verify access
Confirm the new device is trusted before you rely on it. Run
bowline status --root ~/Code on the new device and check that it reports an
Authorized Device and a healthy status. Your projects under ~/Code now
materialize ordinary files in the background like any other trusted device.
Rotate your Recovery Key afterward
Recovering with a Recovery Key means the words left their storage and passed through a command. We recommend rotating the key after every recovery so the exposed words can't be reused.
- Run
bowline recover rotateto generate a fresh Recovery Key and invalidate the previous envelope. - Store the new words somewhere safe and offline.
- Optionally revoke the old key explicitly with
bowline recover revoke <id>.
Rotate any time you suspect your Recovery Key words were exposed, not only after a recovery.
Clean up lost devices
If you recovered because devices were lost or stolen, remove their access once
you're back in. Run bowline device revoke --root ~/Code --device <id> for each
lost device. A revoked device loses workspace decryption authority immediately
and can no longer create work views, so it can't read your workspace if it
resurfaces.
Next steps
- Recovery keys: what a Recovery Key is and the full
bowline recoverreference. - Device trust: how approval and decryption access work.
- Add a machine: bring a new device into your workspace.
- CLI commands: full reference for
bowline recover,approve, andrevoke.
Resolve a sync conflict
Find conflict-aside files with bowline conflicts, pick a side with bowline resolve, or reconcile by hand with your editor or a coding agent.
macOS
How Bowline runs on macOS: the daemon LaunchAgent, the read-only Menu Bar Status App, native notification policy, accessibility, and clean uninstall.