A fast, hackable, terminal-native AI client.
Think Claude Code UX — but open, local-first, and multi-provider.
Most AI tools are either:
- 🔒 Locked into a single provider
- 🧱 Heavy GUI apps
- 🧪 Hard to experiment with
squirl is different:
- ⚡ Runs in your terminal (React Ink)
- 🔌 Works with any OpenAI-compatible backend (Ollama, vLLM, etc.)
- 🧠 Built for real workflows, not just chatting
- 🛠️ Designed to be extended, hacked, and automated
If you like the feel of tools like Claude Code or Cursor, but want control + openness, squirl is your layer.
- Streaming responses with live tokens/sec + latency feedback
- Interrupt anytime (
esc) — no more waiting on slow generations - Context window tracking — know exactly what you're burning
- Chat + input history — persistent, local, simple
- OpenAI, Anthropic (Claude)
- Local models via Ollama, vLLM, or any OpenAI-compatible API
- Seamless switching via model picker (
ctrl+p)
- File read/write
- Command execution
- Directory inspection
Enough power to be useful, without turning into an opaque “agent framework”
- Markdown rendering (code blocks, lists, etc.)
- Collapsible
<think>blocks (ctrl+v) for reasoning models - Paste collapsing for large inputs
- Familiar shell-like keybindings
Most tools abstract everything away.
squirl surfaces reality:
- tokens/sec
- context usage
- streaming behavior
You see how the model behaves.
This is closer to:
- a developer tool
- a testing harness
- a personal AI runtime
Not just a chat app.
Use:
- local models for speed/privacy
- cloud models for quality
Switch instantly.
- Vector + semantic memory layer
- Auto-retrieval of relevant past context
- Long-term conversational continuity
- Pluggable tools (like MCP-style servers)
- Bring your own:
- database queries
- APIs
- internal services
- Planner → retriever → executor → responder
- Optional orchestration (not forced)
- Project-level context
- File indexing + embeddings
- Codebase-aware conversations
- Speculative decoding support
- Multi-model pipelines (draft + verify)
- Optimized for multi-GPU setups (vLLM)
- Inspect prompts
- Inspect tool calls
- Replay / fork conversations
pnpm install
pnpm devOn first run, squirl walks you through:
- provider selection
- API key setup
Config lives at:
~/.squirl/config.json
| Key | Action |
|---|---|
| Enter | Send message |
| Esc | Cancel streaming / clear input |
| Ctrl+C | Exit |
| Ctrl+P | Model picker |
| Ctrl+V | Toggle thinking blocks |
| Up/Down | Input history |
| Ctrl+A/E | Start/end of line |
| Ctrl+W | Delete word |
| Ctrl+U/K | Delete to start/end |
pnpm build
pnpm start- Claude Code (UX philosophy)
- Terminal tools like
lazydocker,htop - The idea that AI should feel like a primitive, not a product
Source-available under the Elastic License 2.0. You may use, copy, modify, and redistribute squirl, but you may not:
- provide it to third parties as a hosted or managed service,
- circumvent license key functionality, or
- remove or obscure any licensing, copyright, or other notices.
See LICENSE for the full terms.

