Type English at the prompt, get the shell command
You know what you want. You do not remember the flags. Ghost in Shell reads the line you typed, decides whether it is a command, a question or a task, and answers each the right way, in the terminal, where you already are.
Three kinds of line, no mode switch
| You type | What happens |
|---|---|
git status | Runs. Anything your shell accepts is never intercepted; Ghost keeps an index of every command name your shell knows. |
why did that build fail | Answered inline under a violet ghost > label, with a dim gutter so it never looks like output you ran. |
compress the logs folder into a tarball named for today | A ready-to-run command is staged on your prompt: "press Enter to run, or edit it first". Ghost never presses Enter for you. |
nmp run dev | A typo the shell would reject gets a second look instead of "command not found". |
Two escape hatches: start a line with a space to force the shell, or with ? to force the AI.
Cmd K: describe, then watch it type
Press Cmd K, describe the command ("find every .log older than a week and delete it"), and the command streams straight into your prompt. Review it, edit it, run it. It is the fastest way to get a find, ffmpeg, awk or docker incantation without leaving the keyboard.
It knows where you are
Every answer is given your shell, your current directory, your git branch and how far ahead it is, the kind of project you are in (package.json, Cargo.toml, pyproject), your recent commands and a slice of recent output. Ask "why did that fail" and it has already read the failure. Nothing is sent until you ask, and with a local model nothing is sent at all.
Example prompts developers use
- "show me what changed in the last commit but only in src"
- "kill whatever is holding port 3000"
- "convert every png in here to webp at 80 quality"
- "which of these branches are already merged into main"
- "what does the -p flag do here" (after typing a command)
- "tail the nginx error log and highlight 502s"
Compared with a chat window
A chat window makes you leave the terminal, paste context, copy the answer back and hope it fits. Ghost answers in the same scrollback, already knowing the context, and stages commands where you would type them. It also stays quiet in any tab where an AI coding agent is running, so it never talks over Claude Code or Codex.
Bring your own model
GPT-5.x, Claude Opus, Sonnet or Haiku, any custom model id, or a free local model through Ollama. Pick it in Settings. The system prompt behind the assistant is readable and editable there too, and the whole feature can be switched off.
Frequently asked questions
Does Ghost in Shell run commands on its own?
No. A task comes back as a staged command on your prompt. You read it, edit it if you like, and press Enter yourself.
How does it know whether I typed a command or a question?
It keeps an index of every command name your shell accepts. Anything runnable goes to the shell untouched. Everything else is treated as a question or a task, and a leading space or ? overrides the decision.
Does it work with zsh and bash?
Yes. It runs your existing zsh or bash on a real PTY, with your dotfiles, aliases and prompt.
Can I use it without an API key?
Yes, with a local Ollama model. Otherwise add an OpenAI or Anthropic key in Settings; it is stored on this Mac only.