bowline
Getting started

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 login --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 login --root ~/Code walks you through it.
  • For remote hosts, working SSH access. See connect remote hosts.

Install Bowline

Run the installer from a terminal.

Terminal
curl -fsSL https://install.bowline.sh | sh

On 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.

Install only the CLI and daemon

Use CLI-only mode when you are installing on a headless Mac or you don't want the Menu Bar app.

Terminal
curl -fsSL https://install.bowline.sh | sh -s -- --cli-only

CLI-only mode installs bowline and bowline-daemon into ~/.local/bin and runs bowline daemon install.

Manual downloads

Release artifacts live under https://install.bowline.sh/releases/latest and versioned paths such as https://install.bowline.sh/releases/v0.1.0. Use the installer unless you need to inspect or pin a specific artifact.

The supported release assets are:

  • install.sh
  • checksums.txt
  • bowline-aarch64-apple-darwin.tar.xz
  • bowline-x86_64-unknown-linux-gnu.tar.xz
  • Bowline-aarch64-apple-darwin.app.zip
  • appcast.xml
  • release-manifest.json

Releases may also include BowlineMenuBar.pkg for admin-managed macOS installs.

Verify manual downloads against checksums.txt before installing them.

Verify the install

Confirm the CLI is on your PATH and the daemon is reachable.

Terminal
bowline --version
bowline-daemon --version
bowline daemon status

bowline 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.

PlatformStatusInstall path
Apple Silicon macOSSupportedInstaller with Bowline.app, CLI, and daemon
Linux x86_64SupportedInstaller with CLI and daemon
Intel macOSUnsupportedBuild from source or wait for a release artifact
Linux ARMUnsupportedBuild from source or wait for a release artifact
WindowsUnsupportedNo 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.

Terminal
git clone https://github.com/bowline-sh/bowline.git
cd bowline
cargo build --release --bin bowline --bin bowline-daemon

The 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.

Terminal
bowline daemon uninstall
rm -f ~/.local/bin/bowline ~/.local/bin/bowline-daemon
rm -rf ~/Applications/Bowline.app

This removes generated Bowline binaries and service files. It does not remove projects under ~/Code.

Next steps

  • Quickstart: log in and bring your ~/Code tree 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.

On this page