Products Marketplace Blog About Contact Sign in Download
lac shell: The Terminal You Actually Want to Type In Photo by S O C I A L . C U T on Unsplash

lac shell: The Terminal You Actually Want to Type In

I stopped dreading the terminal the day I started running lac shell instead of bash. Plain English in, real commands out — and nothing executes until you say so.

I used to keep a notes file full of commands I always forgot

Not complicated commands either. Stuff like how to recursively change file permissions, how to find which process is sitting on port 3000, how to compress a directory without pulling in a bunch of hidden junk. I knew these commands existed. I just couldn't remember the exact flags every single time.

My fix was a scratchpad file called commands.md that I'd CMD+F through every time I blanked. That file eventually hit 300 lines. It was embarrassing.

Then I started using lac shell and that file has not been touched in months.

Looking English GIF
via GIPHY
What lac shell actually is

lac shell is one of the tools inside lac-cli. It's an AI-powered interactive shell — meaning you run it instead of (or alongside) your regular terminal session, type what you want in plain English, and it figures out the right command.

Install is one line:

pip install lac-cli

Or if you prefer the shell script:

curl -fsSL https://lacai.io/install.sh | bash

Then just run:

lac shell

First time through, it runs a short setup wizard so you can pick your AI provider — Claude, OpenAI, or a local Ollama model. After that it drops you into the shell and you're good.

The ghost text is the thing

The feature I use the most is the ghost text autocomplete. As you type, a suggested command fades in to the right of your cursor. Hit Tab and it fills in. It's the same muscle memory as accepting a GitHub Copilot suggestion — once you're used to it you don't even think about it.

But what makes it actually useful is that the suggestions are context-aware. If I type "find all files modified in the last 24 hours" it doesn't give me something generic — it gives me:

find . -mtime -1 -type f

If I then type "but only in the src folder" it adjusts. It's reading what I actually mean, not pattern matching on keywords.

Michael Jackson Twitter GIF
via GIPHY
Nothing runs without your confirmation

This is the part that matters most and I want to be direct about it: lac shell does not execute anything automatically. Every command it suggests shows you the full command first, and you confirm before it runs.

That sounds like friction. It's not. The confirm step is fast — you're just pressing Enter — but it means you always know what's about to happen. No surprises. No accidentally nuking a directory because you misworded something.

For destructive operations especially — anything with rm, chmod -R, or DROP TABLE territory — that extra second of seeing the full command laid out is genuinely valuable. I've caught myself about to run something on the wrong path more than once.

A real session from this week

Here's roughly what a Tuesday morning looked like for me:

  • Typed "show me what's running on port 8080" → got lsof -i :8080 → confirmed → ran it
  • Typed "kill whatever process that is" → it grabbed the PID from context → gave me kill -9 [pid] → confirmed
  • Typed "compress the dist folder into a tarball excluding node_modules" → got exactly the right tar command with the right exclude flag
  • Typed "show git log as a one-liner graph" → got git log --oneline --graph --decorate --all

None of those required me to remember flags. None required me to open a browser tab. The whole session felt fast because I wasn't breaking flow to look anything up.

Coffee Overacting GIF
via GIPHY
The offline flag is more useful than I expected

lac-cli supports running fully offline through Ollama, and lac shell inherits that. You just start it with:

lac shell --offline

And it routes through your local model instead of hitting any external API.

I use this on planes and on days when I'm doing sensitive work and don't want anything leaving the machine. The quality dips a bit versus Claude or GPT-4 for complex queries — local models still struggle with some edge cases — but for day-to-day shell stuff like file operations, git commands, and process management it's genuinely fine. I was surprised.

If your Ollama setup isn't configured yet, lac shell --setup walks you through the provider wizard again. Takes about two minutes.

How this fits with the rest of lac-cli

Worth pointing out: lac shell is just one piece of what lac-cli does. If you need something that reads and writes your actual project files, lac agent is the tool for that — it has project memory, PlanMode, undo/redo with diffs. If you want to pit multiple AI models against each other on a hard question, lac mind does that.

lac shell is specifically for the day-to-day terminal work. It doesn't touch your files unless you explicitly run a command that does. It's not trying to be an agent. It's trying to be the smartest terminal you've ever used.

That focused scope is what makes it actually good.

World Cup Art GIF
via GIPHY
If you're on the fence, just try it for one morning

Seriously — run pip install lac-cli, spend two minutes on the setup wizard, and use lac shell for your first hour of work tomorrow. Don't try to evaluate it. Just use it the same way you'd use your normal terminal and see how often you reach for it.

By the end of the hour you'll either have a new default terminal or you'll know it's not for you. Either way you've spent five minutes and found out something useful.

My bet is you'll delete your commands.md file by lunch.

We use cookies to keep you signed in and to serve ads via Google AdSense. By continuing to use this site you agree to our Privacy Policy.