Why How it works Providers Docs Examples Blog Changelog Star on GitHub
A command-line companion

Stop googling
bash syntax.

yaak (Yet Another AI for the Kommandozeile) is a tiny Rust CLI that translates natural language into the right shell command — using Anthropic, Google Gemini, OpenAI, or any compatible model you choose. Supports 8 languages. Describe what you want, review the command, hit enter. That's it.
Quick install (macOS / Linux)
$ curl -fsSL https://getyaak.ai/install.sh | bash
Or via Homebrew
$ brew install hanneshapke/yaak/yaak
Also on AUR, Nix, .deb and Scoop.
Set YAAK_API_KEY and go.

See it in action

Real examples cycling below. yaak handles compression, file search, process management, clipboard copy — anything you can describe.

~/projects
01

Your brain knows what.
Let yaak know how.

Six reasons developers are replacing their Stack Overflow tab with a four-letter command.

i

Faster than searching

No more context-switching to a browser, skimming Stack Overflow, and copy-pasting flags you don't understand. Just say what you need.

ii

You stay in control

Every generated command is shown before execution. Nothing runs until you confirm. Pass -y when you trust it.

iii

Bring your own model

Works with Anthropic, Google Gemini, OpenAI, Ollama, Groq, Together, OpenRouter, Doubleword, or any local server. You own the key and pick the model.

iv

Context-aware

Pass --context and yaak detects your project type (Cargo, npm, Go, Docker, etc.), git branch, and files — so "build the project" just works.

v

Copy, cache & recall

Copy to clipboard with -C, cache results with --cache (exact or BM25 fuzzy match), browse history with --history, re-run with --last, or search with --search.

vi

8 languages

Use yaak in English, Deutsch, Español, Français, Português, 中文, 日本語, or 한국어. Set once with --language or auto-detect from your system locale.

02

Three seconds from
thought to execution.

The simplest workflow in the terminal. No configuration files, no learning curve, no magic.

Step I
Describe
Type what you want in any supported language after the yaak command. No quoting needed — trailing arguments are joined automatically.
$ yaak find all rust files modified this week
Step II
Review
yaak streams the response from your LLM and displays the generated command. Nothing runs until you choose — execute, copy to clipboard, or abort.
Command: find . -name "*.rs" -mtime -7
? What next?: Execute / Refine / Copy / Abort
Step III
Run
Hit enter. The command runs in your shell with your permissions. yaak exits with the same code as the command it ran.
./src/main.rs
./src/lib.rs
./tests/integration.rs
Works with every provider.

Native support for Anthropic and Google Gemini, plus any endpoint that speaks the OpenAI chat completions protocol.

Anthropic Google Gemini OpenAI Ollama Groq Together AI OpenRouter Doubleword vLLM LM Studio LocalAI

Stop searching.
Start yaaking.

One curl command. One environment variable. Then just describe what you want.

or via Homebrew: