thetaterm
Supercharge your terminal with AI: describe what you want, get a shell command that is correct for your system, confirm, run.
Why
You shouldn't have to remember whether it's tar -xzf or tar -zxvf, or
which sed -i your Mac accepts. Say what you want in plain words and thetaterm
writes the command for you. It's right for your system, because thetaterm
checks whether your tools are GNU, BSD or BusyBox and shows the model the
installed tool's man page. It runs on a small model on your own machine, so
there is no subscription and no per-token bill. And it stays private: you're
not pasting commands full of file paths, hostnames and project names into a
chat website to work out what they do. With the default local model, your
requests never leave your computer.
Requirements
- macOS or Linux
- uv. It installs Python 3.13 or later for you if needed.
- A model served over an OpenAI-compatible API. The default is
gemma4:e4bon Ollama:ollama pull gemma4:e4b
Install
uv tool install thetaterm
Quickstart
tterm -q "list files in this directory, largest first"
$ ls -lS .
Run it? [Y/n]:
New to it? Follow the tutorial.
Usage
tterm # interactive
tterm -q "find files modified in the last 2 days"
tterm -m qwen2.5-coder:3b -q "replace foo with bar in notes.txt in place" # another model
tterm -y -q "show git status" # run without confirming
tterm --think -q "show the date 30 days from now" # model reasons first, about 2x slower
Warning:
-yruns whatever the model writes, unreviewed. In interactive mode that applies to every line you type. Commands pass a syntax check, not a safety check.
Commands that look like they reach outside the current directory (absolute,
~ or .. paths, variables such as $HOME, cd home or back, or sudo) are shown in red and always ask first,
defaulting to no, even with -y. This is a pattern match, not a sandbox. See
the safety model.
Settings (THETATERM_MODEL, THETATERM_BASE_URL, THETATERM_API_KEY) are
read from the environment or ~/.config/thetaterm/.env, never from a .env
in the current directory. See the
command-line reference and
how to use another model server.
Documentation
- Documentation index: tutorial, how-to guides, reference, explanation and design decisions
- Contributing: development setup, needs just
- Security policy
- Changelog
License
Metadata
Release files for thetaterm 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| thetaterm-0.2.0.tar.gz | 13.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| thetaterm-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.4 kB
Release files / thetaterm-0.2.0.tar.gz
| Download URL | thetaterm-0.2.0.tar.gz |
|---|---|
| Size | 13.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
724d3595470740569c2f5a6c5aad4b6cd6d1f6c25cbfda70aed2e41a18f3002b
|
|
BLAKE2b-256 checksum How to use checksums |
d22f18dc63fb5b6cfce8b849fc887b076018f6c69834dc8819b052a8644cbaaf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / thetaterm-0.2.0-py3-none-any.whl
| Download URL | thetaterm-0.2.0-py3-none-any.whl |
|---|---|
| Size | 15.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b1046ba209c08e5906a11483308c023186545e29c09303bcfa2aab21c28c7870
|
|
BLAKE2b-256 checksum How to use checksums |
b11a070485e5389d6686fc3e557945c47c8d3e04291669d3ab4d131c7eae88c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency log