Installation
Install Bowline on macOS or Linux with one command, then verify the CLI, daemon, and macOS app.
Bowline installs as a small command-line tool (bowline), a local background
daemon (bowline-daemon), and, on Apple Silicon macOS, the Bowline Menu Bar
app. The installer picks the right artifact for your machine, verifies the
download, installs the daemon, and leaves you at bowline setup --root ~/Code.
Requirements
Before you install, confirm your machine meets these basics.
- Apple Silicon macOS, or a recent x86_64 Linux distribution.
- A Bowline account. WorkOS handles account identity; your first
bowline setup --root ~/Codewalks you through it. - For remote hosts, working SSH access. See connect remote hosts.
Install Bowline
Run the installer from a terminal.
curl -fsSL https://install.bowline.sh | shOn Apple Silicon macOS, this installs Bowline.app into ~/Applications, links
the bundled CLI and daemon into ~/.local/bin, starts the daemon, and opens the
Menu Bar app. On Linux x86_64, it installs bowline and bowline-daemon into
~/.local/bin and starts the user systemd service.
If ~/.local/bin is not on your PATH, the installer prints the path warning
before it exits. Add it to your shell profile, restart the shell, then continue
with login.
Manual downloads
Bowline has no mutable per-file latest directory and no second update feed.
The signed public release pointer selects one immutable release root, whose
artifact entries all live below a versioned path such as
https://install.bowline.sh/releases/v0.1.11. Use the installer unless you are
auditing those signed release documents.
The supported release assets are:
install.shbowline-aarch64-unknown-linux-gnu.tar.gzbowline-x86_64-unknown-linux-gnu.tar.gzBowline-aarch64-apple-darwin.app.ziprelease-root.jsonrelease-root.json.sig
Verify the selected release root with the pinned release public key, then hash each downloaded artifact against the exact digest and byte count in that root. The installer performs these checks automatically.
cat > allowed-signers <<'EOF'
bowline-release ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDopN2SNIL9tc0boM8++a84hV4HZePJwD8TFJ5SkGLOv bowline-release-2026-07-05
EOF
ssh-keygen -Y verify -f allowed-signers -I bowline-release -n bowline-release \
-s release-root.json.sig < release-root.jsonVerify the install
Confirm the CLI is on your PATH and the daemon is reachable.
bowline version
bowline-daemon --version
bowline daemon statusbowline daemon status reports whether the daemon process and OS service are
running. Add --json for scriptable output.
Name collision
bowline version must report the Bowline workspace tool. If you get an
unrelated tool, check your PATH and where the binary resolves with which bowline.
Supported platforms
Bowline supports these install targets today.
| Platform | Status | Install path |
|---|---|---|
| Apple Silicon macOS | Supported | Installer with Bowline.app, CLI, and daemon |
| Linux x86_64 | Supported | Installer with CLI and daemon |
| Intel macOS | Unsupported | Build from source or wait for a release artifact |
| Linux ARM | Unsupported | Build from source or wait for a release artifact |
| Windows | Unsupported | No release artifact |
Build from source
If you'd rather build from source, you need a recent stable Rust toolchain. Clone the repository and build the release binaries.
git clone https://github.com/bowline-sh/bowline.git
cd bowline
cargo build --release --bin bowline --bin bowline-daemonThe build produces target/release/bowline and target/release/bowline-daemon.
Put them on your PATH, then run bowline daemon install to register the
background service.
Uninstall
Uninstall the daemon first, then remove the binaries or app.
bowline daemon uninstall
rm -f ~/.local/bin/bowline ~/.local/bin/bowline-daemon
rm -rf ~/Applications/Bowline.appThis removes generated Bowline binaries and service files. It does not remove
projects under ~/Code.
Next steps
- Quickstart: log in and bring your
~/Codetree to life. - Add a machine: put the same workspace on a second device.
- macOS: understand the Menu Bar app and LaunchAgent.
- Linux: understand the user systemd service.