Install Octomind: Open-Source AI Coding Agent CLI

Install Octomind, an open-source AI coding agent for the terminal, sign in to the default OctoHub gateway, and set up shell completions.

Get Started

1. Install the binary

bash
curl -fsSL https://octomind.run/install.sh | bash

The installer detects the current OS and architecture, downloads the matching GitHub release, and installs octomind in ~/.local/bin by default. If that directory is not on PATH, the script prints the exact export to add to your shell profile.

On Windows, run this in PowerShell instead:

powershell
irm https://raw.githubusercontent.com/muvon/octomind/master/install.ps1 | iex

install.ps1 works in Windows PowerShell 5.1 and PowerShell 7, needs no administrator rights, installs octomind.exe in %LOCALAPPDATA%\octomind\bin, and adds that directory to your user PATH. Open a new terminal if other shells do not find octomind yet.

The Windows build needs the Microsoft Visual C++ Redistributable, which most systems already have; if octomind fails to start, the installer points you to the download.

2. Sign in

bash
octomind login

The command displays an approval code, opens the approval page in your browser, and waits for confirmation. If the browser cannot open, it prints the URL instead. The completed login stores OCTOHUB_API_KEY in <data-dir>/config/.env, so you do not need separate credentials for models accessed through that gateway.

3. Start Octomind

bash
octomind

Running octomind without a subcommand starts the same interactive session as octomind run. The default configuration uses octohub:auto for its main, supervisor, and compression model purposes. When no config exists and stdin and stdout are terminals, startup opens model setup before creating it. Choose the hub, use your own provider, or skip to keep the defaults. Run octomind configure to repeat setup later; see the CLI reference. Non-interactive runs create defaults without prompts.

Installer Requirements and Targets

The install script requires a Unix-style shell and curl, plus tar for Unix archives or unzip for Windows archives. On Windows, use install.ps1 from PowerShell; it picks the x86_64 or ARM64 build from the system architecture. install.sh also still runs from Git Bash or MSYS2. The scripts recognize these targets; the chosen release must contain the matching asset:

PlatformTarget
Linux x86_64x86_64-unknown-linux-musl
Linux ARM64aarch64-unknown-linux-musl
macOS Intelx86_64-apple-darwin
macOS Apple Siliconaarch64-apple-darwin
Windows x86_64x86_64-pc-windows-msvc
Windows ARM64aarch64-pc-windows-msvc

Set OCTOMIND_INSTALL_DIR to choose another destination:

bash
export OCTOMIND_INSTALL_DIR="$HOME/bin"
curl -fsSL https://octomind.run/install.sh | bash

Bring Your Own API Key

Signing in is optional. See AI Providers to configure direct-provider credentials and the main, supervisor, and compression models.

Other Installation Methods

Homebrew (macOS)

bash
brew install muvon/tap/octomind

The Muvon tap provides release binaries for Apple Silicon and Intel Macs. After installation, follow the sign-in and startup steps above.

Scoop (Windows)

powershell
scoop bucket add muvon https://github.com/Muvon/scoop-bucket
scoop install muvon/octomind

The Muvon bucket provides release binaries for x86_64 and ARM64 and is updated on every release. scoop update octomind upgrades it.

GitHub release archive

Download the archive for your target from GitHub Releases. Release assets use this naming scheme:

text
octomind-<version>-<target>.tar.gz
octomind-<version>-<target>.zip

Unix archives contain octomind; Windows archives contain octomind.exe. Extract the binary and move it to a directory on PATH.

For a Unix archive, set OCTOMIND_ARCHIVE to the downloaded file's path, then run:

bash
tar -xzf "$OCTOMIND_ARCHIVE" octomind
mkdir -p ~/.local/bin
install -m 755 octomind ~/.local/bin/octomind

For a Windows ZIP in PowerShell:

powershell
$env:OCTOMIND_ARCHIVE = "$HOME\Downloads\octomind-<version>-x86_64-pc-windows-msvc.zip"
Expand-Archive $env:OCTOMIND_ARCHIVE -DestinationPath "$env:LOCALAPPDATA\octomind\bin" -Force

Then add that directory to your user PATH.

Cargo

bash
cargo install octomind

This builds Octomind from source and requires Rust 1.95 or newer. See Building from Source for the repository development setup.

Automated Installation

Both installers accept these environment variables:

VariablePurpose
GITHUB_TOKENAuthenticate GitHub API requests
GH_TOKENAlternative GitHub token variable
OCTOMIND_INSTALL_DIROverride the destination directory
OCTOMIND_VERSIONInstall a specific release version

Flags passed to the piped script override the corresponding environment values:

bash
curl -fsSL https://octomind.run/install.sh | \
  bash -s -- --target aarch64-apple-darwin --install-dir "$HOME/.local/bin"

To pin a release, set OCTOMIND_VERSION to its exact release tag and run:

bash
curl -fsSL https://octomind.run/install.sh | bash -s -- --version "$OCTOMIND_VERSION"

install.ps1 takes no flags; set the variables in PowerShell before running it:

powershell
$env:OCTOMIND_VERSION = "<tag>"
irm https://raw.githubusercontent.com/muvon/octomind/master/install.ps1 | iex

Shell Completions

Generate a completion script for a supported shell:

bash
# Bash
mkdir -p ~/.local/share/bash-completion/completions
octomind completion bash > ~/.local/share/bash-completion/completions/octomind

# Zsh
mkdir -p ~/.zfunc
octomind completion zsh > ~/.zfunc/_octomind

# Fish
mkdir -p ~/.config/fish/completions
octomind completion fish > ~/.config/fish/completions/octomind.fish

# PowerShell
octomind completion powershell > octomind.ps1

# Elvish
mkdir -p ~/.config/elvish/lib
octomind completion elvish > ~/.config/elvish/lib/octomind.elv

For Zsh, add ~/.zfunc to fpath and initialize completion in your shell configuration:

bash
fpath=(~/.zfunc $fpath)
autoload -Uz compinit && compinit

Verify the Installation

bash
octomind --version
octomind config --show

Troubleshooting

If your shell cannot find the default installation, add it to the current shell's path:

bash
export PATH="$HOME/.local/bin:$PATH"
octomind --version

On a machine without a browser, print the approval URL explicitly. To replace an existing login, use --force:

bash
octomind login --no-browser
octomind login --force --no-browser

See also