One binary. No dependencies. 30 seconds to your first chat.
Or download the .pkg installer (universal binary, Intel + Apple Silicon).
The installer places m at /usr/local/bin/m. If macOS shows a Gatekeeper warning (unsigned .pkg), right-click → Open, or run:
First launch opens a setup wizard — pick Ollama (local, free), Anthropic, OpenAI, Gemini, Alibaba, or LiteLLM.
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.
Open a new PowerShell or Command Prompt window, then run:
API keys are stored in Windows Credential Manager — no plaintext config files.
For ARM64 (Raspberry Pi, Graviton): grab _linux_arm64.deb instead.
m uses secret-tool to store API keys securely. Install it if it's missing:
The desktop GUI is built with Wails (Go + Svelte). It shares the same config and sessions as the CLI — pick one or use both.
Contains AgentCTL.app — universal binary for Intel + Apple Silicon.
If Gatekeeper blocks it: right-click the app → Open → Open anyway. Or:
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.
Requires WebView2 Runtime (pre-installed on Windows 10 20H2+ and Windows 11).
Extract the zip. Double-click m.exe to launch. Windows Defender may show a SmartScreen warning on first run — click "More info" → "Run anyway".
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\).
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.
Requires Go 1.26+.
The binary lands in $(go env GOPATH)/bin/m. Make sure that's in your PATH.
Requires Wails and Node.js 20+.
Source builds report dev instead of a version number.
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.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"ANTHROPIC_API_KEYOPENAI_API_KEYGEMINI_API_KEYDASHSCOPE_API_KEY (Alibaba)LITELLM_API_KEY
.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-5m 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.m mcp setup github for automated install and config, or see the MCP docs for manual setup.Tab-completion for all m commands, flags, and agent names. Run once, reload your shell.
↑ update available: v0.0.29 → v0.1.1 (brew upgrade subzone/tap/m)m upgrade to update the CLI binary in place — no package manager needed. Works on Linux, macOS, and Windows.brew upgrade subzone/tap/m