ThetaTerm: say what you want, get the right command.

Describe a task in plain words and ThetaTerm writes a shell command that is correct for your system. You read it, confirm, and it runs. It works on a small model on your own machine.

View on GitHubRead the tutorial

Try it

You need macOS or Linux, uv, and a model served over an OpenAI-compatible API. The default is gemma4:e4bon Ollama.

ollama pull gemma4:e4b
uv tool install thetaterm
tterm -q "list files in this directory, largest first"
$ ls -lS .
Run it? [Y/n]:

Why it's different

Right for your system.

It checks whether your tools are GNU, BSD, or BusyBox and shows the model the installed tool's man page, so you get the sed -i your machine accepts.

Private by default.

With the default local model, your requests never leave your computer. No pasting paths, hostnames, and project names into a chat website.

Modest hardware, no bill.

It runs on a small model on your own machine. No subscription and no per-token charges.

You stay in control.

Every command is shown before it runs and waits for your answer. Commands that reach outside the current directory are shown in red and default to no.

For how a small model gets the command right, read Why a Small Local Model Can Write the Right Shell Command.

Also for AI agents

tterm-mcp is an MCP server that lets agents such as Claude Code ask ThetaTerm about your system, an installed program's docs, or whether a command will work. None of its tools runs a command.

Open source

ThetaTerm is released under the Apache-2.0 license. Read every command before you run it: the model can be wrong. Bug reports and contributions are welcome on GitHub.

Have a workflow in mind? Let's talk it through.

A 30-minute conversation about the work you want help with, the systems it touches, and what has to stay private. No pitch deck, no pressure.

Book a Call