Prerequisites
Git
Required to clone the repository and for Go to download dependencies.
Go 1.26+
Only needed for
go install or building from source.API Key or OAuth
An API key from an LLM provider or an account with an active plan for OAuth.
1. Installation
- Homebrew (Recommended)
- Binary
- go install
- From Source
- Docker
The easiest way for macOS and Linux. Installs and updates automatically.To upgrade:
2. Configure a Provider
Create a.env file in your home directory or in the project root.
- OpenAI
- Anthropic (Claude)
- Google (Gemini)
- xAI (Grok)
- StackSpot AI
- ZAI (Zhipu AI)
- MiniMax
- Moonshot (Kimi)
- OpenRouter
- OAuth (no API key)
- Ollama (Local)
You only need to configure the providers you plan to use. ChatCLI automatically detects which ones are available based on the keys found.
Additional Environment Variables
For the complete list of variables, see the Environment Variables Reference.
3. Verify the Installation
1
Check the version
2
Check the active configuration
3
Ask your first question
Updating ChatCLI
Once installed, ChatCLI keeps itself current. Run/update at any time — it detects how the binary was installed and updates through that same channel:
- Homebrew installs run
brew upgrade diillson/chatcli/chatcli. - go install installs run
go install github.com/diillson/chatcli@latest. - Release binaries are self-replaced in place, verified against the release’s
checksums.txt. - Docker and source builds are never touched — you get the exact instructions instead.
CHATCLI_AUTO_UPDATE=auto to stage updates silently in the background: the next start opens on the new version. The default (notify) shows an update hint on the welcome screen — and in the running session when a release lands after boot. See Auto-Update for the full picture.
Next Steps
Basic Usage
Essential commands, modes, and navigation in the interactive prompt.
Agent Mode
Delegate tasks for the AI to execute in your terminal.
Coder Mode
AI that reads, edits, and tests code in a loop.
Skill Registry
Search and install skills from remote registries.