Installation

One binary. No dependencies. 30 seconds to your first chat.

1

Install via Homebrew (recommended)

$ brew tap subzone/tap
$ brew install subzone/tap/m

Or download the .pkg installer (universal binary, Intel + Apple Silicon).

2

Install the .pkg (alternative)

The installer places m at /usr/local/bin/m. If macOS shows a Gatekeeper warning (unsigned .pkg), right-click → Open, or run:

xattr -d com.apple.quarantine ~/Downloads/m_*.pkg
3

Run the setup wizard

First launch opens a setup wizard — pick Ollama (local, free), Anthropic, OpenAI, Gemini, Alibaba, or LiteLLM.

$ m

# Pick your backend, paste an API key (or skip for Ollama), done.

Verify

$ m --version
m version 0.1.1

$ m doctor
✓ Config: alibaba/deepseek-v3.2
✓ API key: found
✓ git: found
All checks passed!
1

Download the .zip

Grab the Windows amd64 zip from the latest release.

Download .zip
2

Extract and add to PATH

Extract m.exe and move it to a folder on your PATH (e.g. C:\Users\you\bin\). Then add that folder to your system PATH via Settings → System → Advanced system settings → Environment Variables.

3

Run the setup wizard

Open a new PowerShell or Command Prompt window, then run:

PS> m

# Pick your backend, paste an API key, done.

API keys are stored in Windows Credential Manager — no plaintext config files.

Verify

PS> m --version
m version 0.1.1

PS> m doctor
✓ Config: openai/gpt-4o
✓ API key: found
All checks passed!
1a

Download the .deb (Debian/Ubuntu)

$ wget https://github.com/subzone/Agentctl/releases/latest/download/m_0.1.1_linux_amd64.deb
$ sudo dpkg -i m_*_linux_amd64.deb

For ARM64 (Raspberry Pi, Graviton): grab _linux_arm64.deb instead.

1b

Or download the tarball (any distro)

$ wget https://github.com/subzone/Agentctl/releases/latest/download/m_0.1.1_linux_amd64.tar.gz
$ tar -xzf m_*_linux_amd64.tar.gz
$ sudo mv m /usr/local/bin/
2

Install secret-tool (for keychain storage)

m uses secret-tool to store API keys securely. Install it if it's missing:

$ sudo apt-get install -y libsecret-tools # Debian/Ubuntu
$ sudo dnf install libsecret # Fedora/RHEL
3

Run the setup wizard

$ m

# Wizard installs Ollama if you pick local, or prompts for an API key.

Verify

$ m --version
m version 0.1.1

The desktop GUI is built with Wails (Go + Svelte). It shares the same config and sessions as the CLI — pick one or use both.

1

Download AgentCTL macOS app

Download AgentCTL_*_macos.zip

Contains AgentCTL.app — universal binary for Intel + Apple Silicon.

2

Unzip and move to Applications

$ cd ~/Downloads
$ unzip AgentCTL_*_macos.zip
$ mv AgentCTL.app /Applications/

If Gatekeeper blocks it: right-click the app → Open → Open anyway. Or:

xattr -d com.apple.quarantine /Applications/AgentCTL.app
3

Launch and configure

Open AgentCTL from Launchpad or Spotlight. On first launch it reads your existing CLI config — no additional setup needed if you already ran m on this machine. Otherwise the settings panel lets you pick a provider and paste an API key.

1

Download AgentCTL Windows app

Download AgentCTL_*_windows_amd64.zip

Requires WebView2 Runtime (pre-installed on Windows 10 20H2+ and Windows 11).

2

Extract and run

Extract the zip. Double-click m.exe to launch. Windows Defender may show a SmartScreen warning on first run — click "More info" → "Run anyway".

3

Configure in the Settings panel

Click the gear icon in the desktop app to open Settings. Pick your provider, paste your API key, choose a theme. Config is shared with the CLI (%APPDATA%\m\).

1

Install WebKit2 dependency

$ sudo apt-get install -y libwebkit2gtk-4.1-0 # Ubuntu 24.04+
$ sudo apt-get install -y libwebkit2gtk-4.0-37 # Ubuntu 22.04
2

Download and extract

Download AgentCTL_*_linux_amd64.tar.gz
$ tar -xzf AgentCTL_*_linux_amd64.tar.gz
$ ./m
3

Configure

The desktop app reads the same config as the CLI (~/.config/m/config.yaml). Use the in-app Settings panel to set your provider and API key.

1

Clone and build

Requires Go 1.26+.

$ git clone https://github.com/subzone/Agentctl.git
$ cd Agentctl
$ go install ./cmd/m
2

Add to PATH

The binary lands in $(go env GOPATH)/bin/m. Make sure that's in your PATH.

$ export PATH="$PATH:$(go env GOPATH)/bin"
3

Build the desktop GUI (optional)

Requires Wails and Node.js 20+.

$ go install github.com/wailsapp/wails/v2/cmd/wails@latest
$ cd Agentctl
$ make desktop-build

Verify

$ m --version
m version dev

Source builds report dev instead of a version number.

Configuration

First-run wizard
Run m with no arguments. The wizard prompts you to pick a provider and paste an API key. That's it — the config lives at ~/.config/m/config.yaml (Linux/macOS) or %APPDATA%\m\config.yaml (Windows). Keys are stored in the OS keychain, never in plaintext.
Change provider / model
Run m config at any time to switch providers or models interactively. Or set the M_MODEL environment variable for a one-off override:

M_MODEL=openai/gpt-4o m "explain this"
API keys via env vars
Keys set as environment variables take precedence over the keychain. Useful for CI and Docker:

ANTHROPIC_API_KEY
OPENAI_API_KEY
GEMINI_API_KEY
DASHSCOPE_API_KEY (Alibaba)
LITELLM_API_KEY
Per-project config
Drop a .m/config.yaml in any repo root to override the global agent and model just for that project. m walks up the directory tree and finds it automatically.

agent: devops
model: anthropic/claude-sonnet-4-5
Health check
Run m doctor to verify everything is wired up: config file, API key presence, model reachability, git availability, and more. Fix issues before they become cryptic errors mid-session.
MCP servers
Connect to GitHub, Jira, Confluence and other tools via MCP. Run m mcp setup github for automated install and config, or see the MCP docs for manual setup.

Shell completions

Tab-completion for all m commands, flags, and agent names. Run once, reload your shell.

$ m completion bash >> ~/.bashrc
$ source ~/.bashrc

You're ready to go

Updates

Auto-update notification
AgentCTL checks GitHub for new releases once per day. If a newer version exists, you'll see:

↑ update available: v0.0.29 → v0.1.1 (brew upgrade subzone/tap/m)

Non-blocking, cached, silent on errors.
Self-update command
Run m upgrade to update the CLI binary in place — no package manager needed. Works on Linux, macOS, and Windows.

Homebrew users can also run:
brew upgrade subzone/tap/m