comparison
Lacy Shell vs GitHub Copilot CLI
Always-on routing vs on-demand suggestions.
The core difference
GitHub Copilot CLI adds two commands to your shell: gh copilot suggest and gh copilot explain. You invoke them when you want AI help. Lacy works the other way around — it watches what you type and decides whether it should run in your shell or go to an AI agent. You never invoke anything explicitly.
| Lacy Shell | GitHub Copilot CLI | |
|---|---|---|
| Invocation | Just type — automatic detection | gh copilot suggest "..." |
| AI backend | Any CLI (Claude, Gemini, OpenCode, etc.) | GitHub Copilot (OpenAI) |
| Subscription required | No | Yes (Copilot plan) |
| Real-time indicator | Yes — green/magenta as you type | No |
| Smart reroute | Yes — failed NL commands auto-reroute to AI | No |
| Output | Full agent response in terminal | Suggested command you confirm before running |
| Shell support | ZSH and Bash 4+ | Any shell with gh CLI |
| Open source | Yes (MIT) | No |
| Dependencies | None (pure shell) | gh CLI + Copilot extension |
Different mental models
Copilot CLI is a tool you reach for: “I need a command, let me ask Copilot.” It generates a shell command and asks you to confirm before running it. That confirmation step is intentional — it’s a safety net.
Lacy is invisible until you need it. Type git log and it runs normally. Type “show me the last 5 commits with diffs” and it goes to your AI agent. You don’t change your behavior. The routing just happens.
When to use Lacy
- You want AI access without changing how you type
- You already use Claude Code, Gemini CLI, or another AI agent in your terminal
- You want real-time visual feedback on what will happen
- You prefer open source with no subscription
When to use Copilot CLI
- You want AI to generate a specific command and confirm before running
- You already pay for GitHub Copilot
- You prefer explicit control over when AI is invoked
- You want
gh copilot explainfor understanding existing commands
Can you use both?
Yes. Copilot CLI is a standalone command — it doesn’t conflict with Lacy. You can use Lacy for automatic routing and still call gh copilot suggest when you specifically want a command suggestion with a confirmation step.
Further reading
- Why I didn’t use AI to classify AI input — how Lacy decides whether your input is a shell command or natural language, without ML.

