You're three directories deep, staring at a blinking cursor, trying to remember the exact find syntax for files modified in the last week. You could open a browser tab, wade through Stack Overflow, and copy-paste something you half-understand. Or you could just type what you want.
That's the pitch behind a growing category of tools: AI-powered CLI assistants that translate plain English into shell commands. But not all of them solve the same problem the same way. Some want to be your entire development environment. Others just want to save you a Google search.
yaak falls squarely in the second camp — and that's exactly what makes it interesting.
The landscape in 2026
The AI-in-your-terminal space has exploded. Here are the main players worth comparing:
GitHub Copilot CLI is the 800-pound gorilla. It went GA in February 2026, and it's evolved from a simple shell assistant into a full agentic coding environment. It can plan multi-step tasks, edit files, run tests, delegate work to the cloud, and even get a "second opinion" from a different model family. It supports MCP servers, custom plugins, and slash commands. It's extraordinarily powerful — and it requires a Copilot subscription, Node.js, and GitHub authentication.
ShellGPT (sgpt) is the veteran in the "translate English to shell commands" niche. Written in Python, it's been around since the GPT-3.5 era and supports chat sessions, REPL mode, custom functions, and shell integration via hotkeys. It defaults to OpenAI's API, and while it technically supports local models through Ollama, that integration has historically been rough.
Claude Code, Gemini CLI, Codex CLI — these are the heavy hitters for agentic coding. They understand entire codebases, manage git workflows, and run autonomously for extended sessions. They're incredible tools, but they're solving a fundamentally different problem than "what's the tar flag for gzip compression?"
Where yaak fits
yaak doesn't try to be an agentic coding environment. It does one thing: you describe a task in natural language, it gives you the shell command, and you decide whether to run it. That's the whole interaction loop.
$ yaak find all rust files modified this week
Command: find . -name "*.rs" -mtime -7
Execute? [Y/n]
Three seconds from thought to execution. No project scaffolding, no file editing, no git integration, no subscription. Just the command you needed.
Here's where the differences matter:
Bring any model, keep your keys
ShellGPT defaults to OpenAI. Copilot CLI only recently added BYOK support (April 2026). yaak was built from day one to work with whatever you've got — Anthropic, OpenAI, Ollama, Groq, Together AI, OpenRouter, LM Studio, vLLM, LocalAI, or anything that speaks the OpenAI chat completions protocol. One config wizard, one environment variable, done.
This matters more than it sounds. If you're already running Ollama locally for privacy, or if your team standardizes on Anthropic, or if you want to use the cheapest model that's good enough for shell commands — yaak doesn't care. It'll use it.
It's fast because it's small
yaak is written in Rust and compiles to a single binary. There's no Python runtime to manage, no Node.js dependency, no virtual environment. Install via brew install hanneshapke/yaak/yaak or cargo install yaak, and you're running.
ShellGPT requires Python, pip, and occasionally a dance with pipx on Linux distributions that restrict system package installs. Copilot CLI needs Node.js and npm. For a tool you invoke dozens of times a day, startup time and installation friction matter.
Safety by default
yaak blocks destructive commands — rm, dd, mkfs, shred, and their privilege-escalation variants (sudo, doas, pkexec) — from being auto-executed. Non-destructive commands that require sudo get a separate privilege-escalation warning. Every command is shown before it runs, and nothing executes without confirmation (unless you pass -y when you trust it).
Copilot CLI has a similar approval flow, but its scope is much wider — it can edit files, run arbitrary scripts, and operate autonomously in "autopilot mode." That power is great for coding tasks, but it's more attack surface than you need for translating English to shell commands.
Eight languages, not as an afterthought
yaak supports English, German, Spanish, French, Portuguese, Chinese, Japanese, and Korean. You can set your language once with --language or let it auto-detect from your system locale. For a tool whose entire purpose is understanding natural language, multilingual support isn't a nice-to-have — it's core functionality.
Neither ShellGPT nor Copilot CLI offer built-in language selection at this level.
Context when you want it
Pass --context and yaak detects your project type — Cargo, npm, Go, Docker, and more — along with your git branch and file structure. "Build the project" just works. But context is opt-in, not the default, which keeps simple queries fast.
Caching and history
yaak caches results (--cache) with exact or BM25 fuzzy matching, stores history (--history), lets you re-run the last command (--last), or search past commands (--search). For shell command generation, this is a killer feature — how many times have you asked the same ffmpeg or tar question?
A quick comparison
| yaak | ShellGPT | Copilot CLI | |
|---|---|---|---|
| Primary purpose | NL → shell command | NL → shell command | Agentic coding environment |
| Language | Rust (single binary) | Python (pip) | Node.js (npm) |
| Model support | Any OpenAI-compatible + Anthropic native | OpenAI default, Ollama (limited) | Multiple via GitHub, BYOK since April 2026 |
| Auth required | API key only | API key only | GitHub account (or BYOK) |
| Multilingual | 8 languages | No | No |
| Command caching | Yes (exact + fuzzy) | Basic | No |
| Project context | Opt-in (--context) |
No | Yes (deep, always-on) |
| Safety guards | Blocks destructive cmds | Confirmation prompt | Confirmation + sandbox |
| License | Apache-2.0 | MIT | Proprietary (subscription) |
| Scope | Shell commands only | Shell + code + chat | Full development agent |
Who should use yaak?
If you want a lightweight, model-agnostic tool that turns English into shell commands without the overhead of a full agentic environment, yaak is worth a look. It's especially compelling if you:
- Run local models and want first-class Ollama support
- Work in a non-English language
- Want caching so you stop re-asking the same questions
- Prefer a single binary with zero runtime dependencies
- Don't need file editing, git management, or autonomous coding
yaak isn't trying to replace Claude Code or Copilot CLI for complex development tasks. It's trying to replace the Stack Overflow tab you keep open for bash syntax. And at that, it's remarkably good.
yaak is open source under the Apache-2.0 license. Install it with brew install hanneshapke/yaak/yaak or cargo install yaak, set your API key, and stop googling bash syntax.
→ getyaak.ai · GitHub