Bowline for coding agents

Bowline for Claude Code

Bowline gives Claude Code the same ~/Code on every machine and remote host: source, .env, and uncommitted work already present. No re-clone, no copied secrets.

Running Claude Code across machines

On a fresh remote or ephemeral host, claude has no repo, no login, and no .env. You re-clone, sign in again (or export ANTHROPIC_API_KEY), and copy secrets before it can do anything. Every edit it makes is stranded on that box until you commit and push.

Vendor
Anthropic
Type
CLI
Runs on
macOS, Linux, and Windows (native or WSL). Distributed as a native binary.
Headless
Yes. It runs non-interactively in CI or over SSH.
Auth
Signs in through a browser with a Claude subscription (Pro, Max, Team, or Enterprise) or an Anthropic Console account, or reads ANTHROPIC_API_KEY from the shell. Credentials live in the macOS Keychain, or in ~/.claude/.credentials.json on Linux.
Env
Runs your tools in your shell, so it inherits whatever is exported. It does not auto-load a project .env; ANTHROPIC_API_KEY and any tool secrets must already be in the environment (or set under `env` in settings.json).

What bowline does for Claude Code

bowline keeps the real project under ~/Code on every trusted host: source, opaque Git state, uncommitted work, .env, .mcp.json, and CLAUDE.md all travel, so claude starts against the same tree and instructions everywhere. You still sign Claude Code into your Anthropic account once per host. That is the one trust step. There is no re-clone, no copied .env, and no stale worktree. Edits claude makes sync straight back to your laptop; for risky runs, start the agent under a lease and gate it with `bowline review` and `bowline accept` before changes land.

How Claude Code is configured

The files Claude Code reads. Every one of these that lives in the project travels with ~/Code, so Claude Code sees the same configuration on every machine.

  • ~/.claude/settings.jsonuser settings
  • ~/.claude/user config, agents, commands, credentials
  • .claude/settings.jsonproject settings (checked in)
  • .claude/settings.local.jsonpersonal project overrides (gitignored)
  • CLAUDE.mdproject instructions read on start
  • .mcp.jsonproject MCP servers

Set it up

Install bowline, trust the machine or host, then run Claude Code against ~/Code with source, config, and .env already present.

Terminal
curl -fsSL https://install.bowline.sh | sh   # on your laptop, once
bowline login
bowline connect gpu-box                       # bootstrap the host over SSH; ~/Code lands there
ssh gpu-box 'cd ~/Code/your-project && claude'

Questions

Does Bowline replace claude login or my ANTHROPIC_API_KEY?
No. bowline carries your project, .env, and Claude Code's in-repo config (CLAUDE.md, .mcp.json). You still sign Claude Code into your Anthropic account or export ANTHROPIC_API_KEY once per host. bowline removes the re-clone, the copied .env, and the stale worktree, not the model auth.
Can I run Claude Code headless on a remote box with Bowline?
Yes. claude -p runs non-interactively in CI or over SSH. With bowline the box already has the repo, config, and .env, so `cd ~/Code/your-project && claude -p '...'` works without a setup step, and its edits sync back to your other machines.
Where do Claude Code's edits go when it runs on another machine?
Into your real ~/Code on that host, which bowline syncs to every trusted device. Uncommitted edits travel too, so you can review or keep working from your laptop. For risky runs, start the agent under a lease and gate it with bowline review and bowline accept.
ready when you are

Your ~/Code, on every machine and every agent.

Install bowline and your projects follow you. It just works.

Get started
curl -fsSL https://install.bowline.sh | sh

macOS app · Linux CLI. Then run bowline login.