Talk to
your shell
Type commands or natural language. Commands run in your shell. Questions go to AI. No mode switching. No prefixes. You type, it figures it out. Works with ZSH and Bash on macOS and Linux. Uninstall in one command.
$ curl -fsSL https://lacy.sh/install | bash$ brew install lacymorrow/tap/lacy$ npx lacy$ git clone https://github.com/lacymorrow/lacy.git ~/.lacy$ echo 'source ~/.lacy/lacy.plugin.zsh' >> ~/.zshrc # or .bashrcCommands run.
Questions route.
The shell plugin intercepts your input before the shell sees it. If the first word is a valid command, it executes normally. If it looks like natural language, it goes to your AI tool. Three modes give you full control over routing.
First word is a valid command? Shell. Multi-word and not a command? AI. Single unknown word? Shell (let it error).
Typed something ambiguous? It tries the shell first. If it fails, Lacy catches it and reroutes to your AI agent automatically.
A colored bar at your prompt changes as you type. Green means shell. Magenta means AI. You always know what will happen.
Background servers and session reuse eliminate cold-start. Your AI tool is ready before you finish typing.
Each AI CLI handles its own auth. Lacy just routes. Nothing to configure beyond picking a tool.
Run lacy setup to configure, lacy doctor to diagnose, and lacy update to stay current. No Node required.
Bring your own AI coding agent. Each tool handles its own authentication — no API keys needed.
Shell
Everything goes to your shell. Normal terminal.
Ctrl+SpaceAgent
Everything goes to AI. Every line is a prompt.
Ctrl+SpaceAuto
Smart routing. Commands to shell, questions to AI.
default