Install
You need one head, and a worker on every machine you want agents to work on. The head can share a machine with a worker. Version 0.2.2 is the latest; see what changed.
macOS, with Homebrew
Bottles for Apple Silicon and Intel, for macOS 11 and later. They need neither Xcode nor the Command Line Tools. The services run as you, under launchd.
brew tap carbon6-dev/carbon6
brew install c6h c6w c6
brew services start c6h- The head's config is
$(brew --prefix)/etc/c6h/c6h.toml(kept across upgrades), its data$(brew --prefix)/var/c6h. - Sign in with
c6h --config $(brew --prefix)/etc/c6h/c6h.toml login-link. - A worker:
c6w enroll <token>, thenbrew services start c6w. It starts through a login shell, so sessions get yourPATH. - The memex:
brew install c6m,c6m enroll <token>, thenbrew services start c6m. - Logs are in
$(brew --prefix)/var/log/.brew upgradeupgrades them.
Ubuntu, with .deb packages
Built on Ubuntu 22.04 for amd64 and arm64, they install on 22.04 and every later release, with systemd units.
arch=$(dpkg --print-architecture)
curl -LO https://github.com/carbon6-dev/carbon6/releases/download/v0.2.2/c6h_0.2.2_$arch.deb
sudo apt install ./c6h_0.2.2_$arch.deb- c6h runs as the
c6hservice and starts on install. Config:/etc/c6h/c6h.toml; state:/var/lib/c6h. Sign in withsudo -u c6h c6h --config /etc/c6h/c6h.toml login-link. - c6w (
c6w_0.2.2_$arch.deb) runs as you, since sessions work on your files:c6w enroll <token>, thensudo systemctl enable --now c6w@$USERto start at boot, orsystemctl --user enable --now c6wfor your session. - c6m (
c6m_0.2.2_$arch.deb):sudo -u c6m c6m --state-dir /var/lib/c6m enroll <token>, thensudo systemctl enable --now c6m. - c6 (
c6_0.2.2_$arch.deb), the command line, on any machine that reaches the head. - Logs:
journalctl -u c6h. Installing a newer package restarts its services; removing one keeps its data.
Other Linux
The four binaries, for amd64 and arm64, glibc 2.35 or later: carbon6-0.2.2-linux-amd64.tar.gz, carbon6-0.2.2-linux-arm64.tar.gz. Every file of a release is listed, with checksums, on its release page.
From source
With Docker alone, make docker-build builds Linux binaries into dist/. With a local toolchain you need Rust with the wasm32-unknown-unknown target and Trunk:
git clone https://github.com/carbon6-dev/carbon6.git
cd carbon6
make buildFirst run
- Sign in. Run
c6h login-linkon the head and open the link it prints (it works once, for 15 minutes). Add a passkey under Settings → Sign-in and use it from then on. - Add a model. Add an LLM connection under Settings: an API key, your ChatGPT plan, Claude Code on the workers, or a local server such as Ollama (
http://127.0.0.1:11434/v1, no key). - Add a worker. On the Workers page, click Add worker and run the command it prints on the worker machine. Then start the worker's service, or run
c6w run. - Start a session on that worker, in a folder of your choice.
The head binds only loopback, private and tailnet addresses by default. To reach it from outside a tailnet or localhost, turn on HTTPS with ui_tls_head_ca = true. The guide covers this and everything after the first session.