macOS
brew install otermlocal Homebrew formula metadata
brew
Terminal client for Ollama. Version 0.20.0 via Homebrew; verified 2026-07-01.
install
brew install otermlocal Homebrew formula metadata
nix profile install nixpkgs#otermnixpkgs package indexes · pkgs/by-name/ot/oterm/package.nix · source: api.github.com
overview
Terminal client for Ollama
history
oterm is a Python terminal UI for chatting with LLMs. It began as a text-based terminal client for Ollama and evolved into a multi-provider terminal client for Ollama, OpenAI, Anthropic, Google, Groq, Mistral, Cohere, Bedrock, OpenAI-compatible endpoints, and other pydantic-ai-supported providers.
GitHub records `ggozad/oterm` as created on 2023-10-10, during the wave of local-LLM tooling around Ollama. Early package descriptions and PyPI metadata framed it as a text-based terminal client for Ollama with persistent chat sessions, SQLite storage, model selection, system prompts, and parameter customization.
The 2026 release line changed the project's scope. Release 0.15.0, published on 2026-04-27, is described as the multi-provider release: chats moved through pydantic-ai, MCP integration was rewritten, the UI was refreshed, streaming improved, and old Ollama-only assumptions such as an internal pull-model command were removed. The README describes oterm as a terminal client for Ollama, OpenAI, Anthropic, and any pydantic-ai-supported provider.
oterm's adoption follows the developer interest in local and terminal-first LLM workflows. It is listed in the Ollama repository's terminal/CLI ecosystem list, and Homebrew/Nix packaging made it installable in the same package-manager channels as other developer CLIs.
The tool's multi-provider turn broadened its appeal from an Ollama companion to a terminal chat front end that can sit over local models, hosted APIs, and OpenAI-compatible servers such as vLLM, LM Studio, llama.cpp, OpenRouter, and LiteLLM.
Users install and run `oterm` to get a terminal UI with persistent chat sessions, provider/model selection, streamed Markdown output, configurable system prompts and parameters, and optional MCP tool configuration. The documented config locations in the av.db input show it stores per-user configuration under the platform's application data directory, with environment-variable overrides for secrets and data directory selection.
For package nerds, the interesting usage pattern is that oterm packages a full TUI experience as a CLI entry point: the Python package is not merely a library, but an end-user application distributed through PyPI-style tooling and system package managers.
oterm is a good example of the fast-moving LLM CLI package category: a small terminal app can quickly become a package-manager target because users want one-command installation, upgrades, and config discovery. Its 0.15.0 migration also shows how model-provider abstraction moved from app-specific integrations to library-mediated provider layers such as pydantic-ai.
security posture
No matching local secret-handling manifest was found for oterm. Nucleus package metadata is still published here so future coverage has a stable package URL.
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
~/.local/share/oterm/config.json${XDG_DATA_HOME}/oterm/config.json${OTERM_DATA_DIR}/config.json~/Library/Application Support/oterm/config.json${XDG_DATA_HOME}/oterm/config.json${OTERM_DATA_DIR}/config.jsonC:/Users/<USER>/AppData/Roaming/oterm/config.jsonCredential-bearing paths to review before unattended agent runs.
./.env${OTERM_DATA_DIR}/config.json./.envC:/Users/<USER>/AppData/Roaming/oterm/config.jsonexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
oterm | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/ggozad/oterm
install metadata
| Package key | brew:oterm |
|---|---|
| Version | 0.20.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/oterm |
| Homepage | https://github.com/ggozad/oterm |
| Repository | https://github.com/ggozad/oterm |
| Upstream docs | https://ggozad.github.io/oterm |
| License | MIT |
| Source archive | https://files.pythonhosted.org/packages/1d/19/23455c1d66786bca4d4c35fec11dfd92cd1b7eaad53d04ef4465b39950ca/oterm-0.20.0.tar.gz |
| Last updated | 2026-07-01T11:03:13Z |
| Pulse | updated |
| Dependencies | certifi, cryptography, libyaml, pillow, pydantic, python@3.14, rpds-py |
| Build dependencies | pkgconf, rust |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | oterm |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
oterm
nix profile install nixpkgs#otermsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.