Automic VaultAutomic Vault

brew

Install oterm with Homebrew, Nix

Terminal client for Ollama. Version 0.20.0 via Homebrew; verified 2026-07-01.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install oterm

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#oterm

nixpkgs package indexes · pkgs/by-name/ot/oterm/package.nix · source: api.github.com

overview

Package summary

Terminal client for Ollama

Commands and aliases

  • oterm

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2023-10-10: GitHub records creation of `ggozad/oterm`.
  • 2024: PyPI release 0.6.0 described oterm as a text-based terminal client for Ollama with persistent SQLite sessions and model customization.
  • 2026-04-27: release 0.15.0 changed oterm into a multi-provider pydantic-ai-based terminal client and rewrote MCP configuration.
  • 2026-06-30: release 0.20.0 updated pydantic dependencies and improved Modelfile-based prompt/parameter prepopulation.

Related projects

  • Ollama is the original local-model runtime oterm was built around.
  • pydantic-ai became the provider abstraction layer for oterm's multi-provider architecture.
  • MCP-compatible configuration connects oterm to the same tool-server ecosystem used by desktop AI clients and editors.

security posture

No protected-tool coverage found yet

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.

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 7 runtime dependencies.
  • Build metadata lists 2 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

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.

Configuration files

Config paths the tool may read or write during local use.

Linux
~/.local/share/oterm/config.json${XDG_DATA_HOME}/oterm/config.json${OTERM_DATA_DIR}/config.json
macOS
~/Library/Application Support/oterm/config.json${XDG_DATA_HOME}/oterm/config.json${OTERM_DATA_DIR}/config.json
Windows
C:/Users/<USER>/AppData/Roaming/oterm/config.json

Credential files

Credential-bearing paths to review before unattended agent runs.

Unix
./.env${OTERM_DATA_DIR}/config.json
Windows
./.envC:/Users/<USER>/AppData/Roaming/oterm/config.json

executables

Installed executables

CommandKindExposureNote
otermcliglobal executable

freshness

Version and 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.

page generated2026-07-08
manager version0.20.0
manager updated2026-07-01
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/ggozad/oterm

install metadata

Package metadata

Package keybrew:oterm
Version0.20.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/oterm
Homepagehttps://github.com/ggozad/oterm
Repositoryhttps://github.com/ggozad/oterm
Upstream docshttps://ggozad.github.io/oterm
LicenseMIT
Source archivehttps://files.pythonhosted.org/packages/1d/19/23455c1d66786bca4d4c35fec11dfd92cd1b7eaad53d04ef4465b39950ca/oterm-0.20.0.tar.gz
Last updated2026-07-01T11:03:13Z
Pulseupdated
Dependenciescertifi, cryptography, libyaml, pillow, pydantic, python@3.14, rpds-py
Build dependenciespkgconf, rust
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameoterm
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

oterm

nix profile install nixpkgs#oterm
  • normalized package name match
  • Matched by: Oterm
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ot/oterm/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment