Charter ships as a single static binary with no runtime dependencies. Pick the install path that fits your workflow.
Homebrew
Binary
go install
Source
The fastest path on macOS and Linux: brew install use-charter/tap/charter
Homebrew handles version management and future upgrades: Pre-built binaries are published to GitHub Releases for all supported platforms.
Download the archive for your platform
Platform Asset macOS Apple Silicon charter_*_darwin_arm64.tar.gzmacOS Intel charter_*_darwin_amd64.tar.gzLinux x86-64 charter_*_linux_amd64.tar.gzLinux ARM charter_*_linux_arm64.tar.gzWindows x86-64 charter_*_windows_amd64.zip
Extract and move to your PATH
# Extract the archive
tar xzf charter_ * _linux_amd64.tar.gz
# Move charter to a directory on your PATH
sudo mv charter /usr/local/bin/charter
Verify the binary signature (optional)
Every release asset is signed with cosign keyless signing. To verify: cosign verify-blob \
--certificate-identity "https://github.com/use-charter/charter/.github/workflows/release.yml@refs/tags/v*" \
--certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
--bundle charter_ * .bundle \
charter
A successful verification prints Verified OK. If you have a Go toolchain available: go install go.use-charter.dev/charter/cmd/charter@latest
The binary is placed in $(go env GOPATH)/bin. Requires Go 1.21 or later. The vanity import host go.use-charter.dev serves the module. Make sure $(go env GOPATH)/bin is on your PATH.
Build directly from the repository: git clone https://github.com/use-charter/charter
cd charter
go build -o charter ./cmd/charter
Move the resulting binary to a directory on your PATH. Building from source requires Go 1.21 or later.
Verify the install
After any install path, confirm the binary is working:
Expected output:
charter 1.0.0
commit abc1234f
built 2026-05-18T09:42:00Z
go 1.26.3
platform darwin/arm64
Add charter to your shell PATH so it’s available from any directory. Homebrew does this automatically. For manual installs, ensure the directory containing the binary is in your PATH and open a new shell session to pick up the change.