Skip to main content

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:e4b on 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: -y runs 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

License

Apache-2.0

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)

Source distribution for thetaterm 0.2.0
File Size Uploaded
thetaterm-0.2.0.tar.gz 13.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for thetaterm 0.2.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page