Introduction
What is lac-cli?
lac-cli is an open-source AI terminal toolkit. It gives your shell natural language understanding, real-time autocomplete, an agentic coding assistant, and a multi-model debate engine — all in one pip install.
Type what you want. lac converts it to the right command and asks before running.
Ghost text completions as you type. Press Tab to accept, keep typing to ignore.
Agentic coding assistant with filesystem access, project memory, undo/redo, and PlanMode.
Multi-model debate engine. Models challenge each other's answers and vote on the best one.
Split complex tasks across 2–4 specialized agents running in parallel. A Project Manager reviews each agent's output and retries with feedback if needed, then synthesizes everything into a final summary.
Installation
Get started
Requires Python 3.9 or higher. Choose any of the methods below.
- Install lac-cli via pip or the one-line installer script.
- Run lac — the setup wizard runs on first launch.
- Pick a provider (Claude, OpenAI, or Ollama) and enter your API key.
- You're done. Launch the shell with lac shell or the agent with lac agent.
pip install lac-cli
# macOS / Linux (curl installer)
curl -fsSL https://lacai.io/install.sh | bash
# Windows (PowerShell)
iwr -useb https://lacai.io/install.ps1 | iex
Providers
Bring your own model
lac-cli works with any of the providers below. You pick one during the setup wizard and can swap at any time with lac shell --setup.
| Provider | Key required | Notes |
|---|---|---|
| claude | Yes — Anthropic API key | Best for complex reasoning and coding tasks |
| openai | Yes — OpenAI API key | GPT-4o and compatible models |
| ollama | No | Runs fully offline. Requires Ollama installed locally |
Commands
lac shell
The AI-powered interactive shell. Converts plain English to shell commands and shows real-time AI ghost-text completions as you type.
lac shell
# Switch provider / re-run setup wizard
lac shell --setup
# Run offline using local Ollama model
lac shell --offline
| Flag | Description |
|---|---|
--setup |
Re-run the provider setup wizard. Use this to swap models or update your API key. |
--offline |
Bypass cloud providers and run using a local Ollama model. No internet required. |
Commands
lac agent
LacAgent is a full agentic coding assistant that runs inside your terminal. It can read and write files, remember your project context across sessions, undo/redo changes, and enter PlanMode before acting.
lac agent
# Start in plan mode (plans before executing)
lac agent --plan
Persists context in .lac-memory.json at the project root. The agent remembers what you've built across sessions.
Every file change the agent makes is tracked. Type undo or redo at the prompt to roll back or re-apply.
The agent lays out its full plan before touching any file. Confirm, edit, or cancel before execution begins.
Built-in HTTP request runner. Test endpoints directly from the agent chat without leaving your terminal.
Commands
/multi New in v0.3.6
Multi Agent Mode splits a complex task across multiple specialized agents that run in parallel. Each agent gets its own isolated context, a Project Manager reviews the output, and everything gets synthesized into a final summary when they're done.
/multi refactor the auth module and add test coverage
# Works for any parallelisable task
/multi audit this codebase for security issues
How it works
- Type /multi followed by your task. The system suggests 2–4 specialized agents based on what you asked.
- Review the proposed agents — edit names, add more, or remove any before running.
- Agents run in parallel, each in its own isolated context. Live progress panels show iterations, tool calls, and API responses in real time.
- The Project Manager reviews each agent's output. If it meets requirements it's approved. If not, the agent retries with feedback — up to 3 times.
- Once all agents finish, the Project Manager synthesizes their outputs into a single final summary.
Panel status colours
| Colour | Meaning |
|---|---|
| Cyan border | Agent is currently running |
| Green border | Output approved by Project Manager |
| Red border | Output rejected — agent will retry with feedback |
Agents work simultaneously — a task that would take one agent 10 minutes can finish in a fraction of the time.
Every agent's output is reviewed before it's accepted. Agents retry up to 3 times with specific feedback if the output falls short.
All file changes from the entire multi agent session are grouped. /undo reverts everything at once.
Codebase analysis, security audits, large refactors, or any task that naturally splits into independent parallel subtasks.
Commands
/watch New in v0.3.5
Watch Mode opens Chrome with real-time browser monitoring and voice recognition. Browse your app, speak your intent, then send the full session timeline to the AI for analysis, debugging, and suggestions.
/watch
# With URL
/watch https://yourapp.com
# Local dev server
/watch http://localhost:8000
What it captures
| Event | Details |
|---|---|
| 🎤 Voice | Continuous speech recognition — everything you say is timestamped and sent to the AI |
| 🖱️ Clicks | Every click with element details — tag, id, class, and visible text |
| ⌨️ Inputs | Form field names and values as you type |
| 🌐 Navigation | URL changes including SPA client-side routing |
| 📡 Network | XHR/fetch requests and responses — method, URL, headers, body, status (JSON auto-detected) |
| ❌ Errors | JavaScript console errors and uncaught page errors |
Example session
[10:14:05] +3.84s CLICK button#login "Sign in"
[10:14:06] +4.29s NAV https://localhost:8000/auth
[10:14:08] +6.70s INPUT email = "user@example.com"
[10:14:08] +6.78s VOICE "test the login flow"
[10:14:15] +13.79s NETWORK → POST /auth/login | Body: {"email":"...","password":"..."}
[10:14:16] +14.11s NETWORK ← POST /auth/login 200 | Body: {"success":true,"token":"..."}
[10:14:20] +18.30s NAV https://localhost:8000/dashboard
[10:14:22] +20.39s SEND user triggered send to AI
Commands
lac mind
LacMind opens a local web-based debate interface where multiple AI models receive the same prompt, challenge each other's responses across rounds, and vote on the best answer.
lac mind
Reference
Configuration
lac-cli stores your provider and key in a local config file. The setup wizard handles everything — but here's what you can adjust manually.
| Setting | Description |
|---|---|
| provider | Active provider: claude, openai, or ollama |
| api_key | Your API key for the selected provider. Not required for Ollama. |
| autocomplete_delay | Milliseconds before ghost-text suggestions appear. Lower = faster, more API calls. |
| ollama_model | Model name for Ollama. Defaults to llama3. Change to any model you have pulled. |
To re-run the setup wizard at any time: lac shell --setup
Reference
Project Memory
LacAgent persists context about your project in a .lac-memory.json file at the root of your working directory. This lets the agent pick up where it left off across sessions.
{
"project": "my-app",
"stack": ["Laravel", "Blade", "MySQL"],
"context": "...",
"history": [...]
}
Reference
Changelog
Recent releases and what changed.
| Version | Highlights |
|---|---|
| v0.3.6 latest | Multi Agent Mode (/multi) — parallel specialized agents with Project Manager review, live progress panels, and session-level undo |
| v0.3.5 | Watch Mode (/watch) — browser monitoring with voice recognition, click/input/network capture, and AI session analysis |
| v0.3.3 | Multi-provider fallback chain, raised agent iteration cap, native tool schemas |
| v0.3.0 | LacAgent GA — project memory, undo/redo, PlanMode, API testing |
| v0.2.6 | Persistent .lac-memory.json, improved provider selection UX |
| v0.2.0 | LacMind debate engine, Ollama offline support |
| v0.1.0 | Initial release — AI shell, ghost-text autocomplete, Claude + OpenAI support |