Three steps from zero to first prompt. Under a minute, total.
Single native binary, no runtime dependencies, auto-updates built in. Pick the install method that matches your OS — the resulting binary, behaviour, and update mechanism are identical across all three.
curl -fsSL https://raw.githubusercontent.com/OpenAnalystInc/cli/main/install.sh | bash
irm https://raw.githubusercontent.com/OpenAnalystInc/cli/main/install.ps1 | iex
npm install -g @openanalystinc/openanalyst-cli@latest
Verify with openanalyst --version. If an older Windows install reports EEXIST, re-run the OS installer; it repairs stale OpenAnalyst shims first.
Don't have one yet? Create a free account at 10x.in (30 seconds, email only) and you'll land with free credits to try. One credential gives you every frontier model — OpenAnalyst Beta & Max, GPT-5, Claude Opus, Gemini Pro, Grok — on a single credit balance, plus the skills & plugins catalog.
Prefer a long-lived key? Mint an sk-oa-v1-… at 10x.in → Dashboard → API Keys and set OPENANALYST_API_KEY. Already pay Anthropic / OpenAI / Gemini / xAI directly? BYOP works too.
You're ready. Drop into the interactive TUI, one-shot a prompt, or fire up the browser-based web console pointed at your local workspace.
# Interactive TUI in the current folder $ openanalyst # One-shot prompt, prints answer to stdout $ openanalyst "explain this repo's architecture" # Pick a specific model on the fly $ openanalyst -m opus "review my staged diff" # Browser-based web console + file viewer $ openanalyst --serve # open http://localhost:3080 # Account info anytime $ openanalyst account status
All three entry points share the same workspace jail, the same session store, and the same model picker. The web console adds Settings → Account for browser-based credit management.
Switch models mid-conversation. Session persists across providers. One account or BYO keys — mix and match. No other CLI does this.
> Explain this codebase # openanalyst-beta answers > /model gpt-4o Model updated · Provider: OpenAI Session persisted (3 messages) # conversation carries over > Now fix the bug you found # gpt-4o sees full history > /model gemini-2.5-pro Model updated · Provider: Google Gemini Session persisted (5 messages) # 3 providers, 1 conversation
The most feature-rich AI agent CLI ever built. Native binary, 8 LLM providers, 65+ commands, 22 tools, voice input, multi-agent orchestration, Local AI support, clipboard paste, /undo revert, and more.
/effort code max — per-category control/route — view/edit the full routing table/effort high — set all categories globallyopenanalyst --serve to start a production-ready HTTP server on port 3080. 17 REST endpoints for chat, sessions, skills, and provider management. Real-time SSE streaming with 8 event types (assistant_delta, tool_call, tool_result, usage, state, and more). Persistent sessions with full conversation history. Multi-tenant isolation via X-Tenant-ID header. 22 sandboxed tools. 8-provider automatic failover. CORS enabled. Zero auth friction in single-tenant mode.openanalyst --serve — start on default portopenanalyst --serve 8080 — custom portcurl -X POST localhost:3080/v1/chat -d '{"message":"hello"}' — quick chat/knowledge best Meta Ads strategy for D2C brands/feedback corrections.openanalyst/knowledge/OPENANALYST_API_KEY=oa_your_key to access./localai configures Ollama, LM Studio, llama.cpp, or any OpenAI-compatible local server. Point to http://localhost:11434 and start chatting. Full tool support, streaming output, and session persistence — all running on your own hardware. No API keys, no costs, complete privacy./model now updates the orchestrator config and rebuilds the routing table in real-time. Session persists across provider boundaries. Start with Claude, continue with GPT-4o, finish with Gemini — all in one session./permissions prompt to switch modes at runtime./help to see them all./openanalyst fix all failing tests --criteria "npm test"/oa refactor auth to async --goal "all async" --criteria "npm run build"/oa add caching --max-turns 20--goal (description), --criteria (shell command to verify), --max-turns (default 30). Criteria commands have 60s timeout. Turn budget enforced as hard limit.mcp__ prefix. Execution dispatched to live server processes. /mcp add and /mcp remove manage servers directly./commit generates a message and commits. /pr drafts a pull request. /diff-review gets AI-powered code review of your changes./plugins install <path>. All backed by real PluginManager./hooks.openanalyst/keybindings.json/context. Add entire directories with /add-dir. Files are injected into the conversation context automatically.All commands work identically regardless of which LLM provider you use. Every command is fully functional — zero stubs.
| Command | Description |
|---|---|
| /help | Show all available commands |
| /status | Model, permissions, tokens, cost, session info |
| /cost | Cumulative token usage and cost breakdown |
| /model [name] | Show live models or switch mid-session |
| /clear | Start a fresh session |
| /compact | Smart compact — collapses tool calls, shows token budget %, suggests /clear when needed |
| /memory NEW | Show all memory files — instruction files, project memory, user memory with types |
| /effort [category] [level] NEW | Set thinking effort globally or per-category (explore/research/code/write) |
| /route [category] [tier] NEW | View or edit the per-action model routing table |
| /session [list|switch] | List or switch saved sessions |
| /export [file] | Export conversation transcript |
| /version | Show CLI version and build info |
| /resume <path> | Load a saved session |
| /login NEW | Add or switch provider API keys from REPL |
| /logout NEW | Clear all saved credentials |
| /context NEW | Show context window usage, token counts, model |
| /vim NEW | Toggle vim keybinding mode |
| /whoami NEW | Show all logged-in providers and their status |
| /knowledge <query> NEW | Search the OpenAnalyst knowledge base |
| /explore <url> NEW | Smart-explore a GitHub repo from its history |
| /ask <question> NEW | Quick question — no tools, fast response (alias: /btw) |
| /user-prompt <msg> NEW | Inject a message with full tool access (alias: /up) |
| /sidebar NEW | Toggle the sidebar panel visibility |
| /models NEW | List all available models from configured providers |
| /trust NEW | Trust or untrust workspace for hooks and skills |
| /undo NEW | Revert all uncommitted file changes |
| /feedback <text> NEW | Submit feedback or corrections to knowledge base |
| /open <file> NEW | Open a file in your default editor |
| Command | Description |
|---|---|
| /diff | Show git diff of workspace changes |
| /commit | Generate commit message and commit |
| /commit-push-pr [ctx] | Commit, push, and open a PR |
| /pr [context] | Draft or create a pull request |
| /issue [context] | Draft or create a GitHub issue |
| /branch [list|create|switch] | Manage git branches |
| /worktree [list|add|remove] | Manage git worktrees |
| /teleport <symbol> | Jump to a file or symbol |
| /diff-review [file] NEW | AI-powered review of git diff |
| /changelog [since] NEW | Generate changelog from git log via AI |
| Command | Description |
|---|---|
| /image <prompt> NEW | Generate image (Gemini Imagen / DALL-E / Stability) |
| /voice <file> NEW | Transcribe audio/video (Whisper / Gemini) |
| /speak <text> NEW | Text-to-speech audio (OpenAI TTS) |
| /vision <image> [prompt] NEW | Analyze image (Gemini / GPT-4o / Claude) |
| /diagram <desc> NEW | Generate Mermaid diagram |
| /translate <lang> <text> NEW | Translate text to any language |
| /tokens [text] NEW | Estimate token count |
| /scrape <url> [selector] NEW | Fetch URL and extract text |
| /json <url> NEW | Fetch JSON API and pretty-print |
| Command | Description |
|---|---|
| /bughunter [scope] | Scan codebase for likely bugs |
| /ultraplan [task] | Deep multi-step planning with reasoning |
| /debug-tool-call | Replay last tool call with debug output |
| /think [prompt] NEW | Force extended thinking for next response |
| /changelog [since] NEW | Generate changelog from git log via AI |
| /doctor NEW | Diagnose installation, provider keys, MCP, workspace |
| /openanalyst <task> NEW | Autonomous agent — think→act→observe→verify loop |
| /swarm <task> NEW | Spawn a swarm of parallel agents for complex tasks |
| Command | Description |
|---|---|
| /config [section] | Inspect config (env, hooks, model, plugins) |
| /memory | Show loaded OPENANALYST.md files |
| /init | Create starter OPENANALYST.md |
| /permissions [mode] | Show or switch permission mode |
| /agents | List configured agents |
| /skills | List available skills |
| /plugin [list|install|enable|disable] | Manage plugins |
| /mcp [list|restart|add] NEW | Manage MCP servers |
| /localai [setup|status] NEW | Configure local AI (Ollama, LM Studio, llama.cpp) |
| /add-dir <path> NEW | Add directory tree to conversation context |
| Hooks | |
| PreToolUse NEW | Runs before each tool execution — can allow, deny, or warn |
| PostToolUse NEW | Runs after each tool — format-on-save resilience built in |
| CwdChanged NEW | Fires when working directory changes (direnv, monorepo navigation) |
| FileChanged NEW | Fires when a file is modified externally after write/edit |
| SessionEnd NEW | Fires on session close for cleanup, logging, or archival |
| TaskCreated NEW | Fires when a task is created for external tracking systems |
| SessionStart NEW | Fires when a session begins — initialize environment, logging |
| Notification NEW | Fires when the agent wants to notify the user externally |
| Stop NEW | Fires when the agent stops execution — post-run cleanup |
| /hooks [list|add|remove|test] NEW | Manage hooks interactively from the TUI |
| Command | Description |
|---|---|
| /dev install NEW | Install Playwright for browser automation |
| /dev open <url> | Navigate browser to URL |
| /dev screenshot | Capture screenshot of current page |
| /dev snap | Snapshot accessibility tree |
| /dev click <ref> | Click element by a11y reference |
| /dev type <ref> <text> | Type text into element |
| /dev test <desc> | Generate Playwright test via AI |
| /dev codegen | Record browser actions as test code |
| /dev stop | Close browser session |
| /dev status | Show Playwright version and state |
22 tools available to the AI agent during conversations. Works with every provider. Plus MCP protocol for unlimited external tools.
Beyond individual use — OpenAnalyst CLI includes features for team collaboration, API integration, and cost management.
.openanalyst/ settings are version-controlled and portable.openanalyst --serve to start a production-ready HTTP server with 17 REST endpoints, real-time SSE streaming, persistent sessions, multi-tenant isolation, 22 sandboxed tools, and 8-provider automatic failover. Build chatbots, CI/CD integrations, and custom AI workflows on top. Read the docs →/cost to see cumulative spending. Smart routing saves up to 80% on tokens automatically.| OPENANALYST.md | Project-specific AI instructions (auto-detected in parent dirs) |
| .openanalyst.json | Shared project defaults (permissions, model, tools) |
| .openanalyst/settings.json | Project-level settings |
| .openanalyst/settings.local.json | Machine-local overrides (gitignored) |
| ~/.openanalyst/.env | Provider API keys and environment config (auto-created) |
| ~/.openanalyst/credentials.json | Saved provider API keys |
| .openanalyst/sessions/ | Saved conversation sessions |
| .openanalyst/skills/ | Custom skill definitions |
| .openanalyst/commands/ | Custom slash commands |
OpenAnalyst CLI is an independent, open-source product by OpenAnalyst Inc.
All provider trademarks belong to their respective owners:
Claude — Anthropic, PBC ·
GPT, DALL-E, Whisper, Codex — OpenAI, Inc ·
Gemini, Imagen — Google LLC ·
Grok — xAI Corp ·
Bedrock — Amazon Web Services, Inc ·
OpenRouter — OpenRouter, Inc
Use of these providers' APIs is subject to each provider's Terms of Service. OpenAnalyst CLI facilitates access to these APIs — it does not claim ownership of any provider's services, models, or intellectual property. Licensed under Apache 2.0.