# Install oterm with Homebrew, Nix

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

## Install

```sh
sudo av install brew:oterm
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install oterm
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#oterm
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ot/oterm/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:oterm
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/oterm>
- **Version:** 0.20.0
- **Source summary:** Terminal client for Ollama
- **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
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- oterm (cli)
- oterm (alias)

## Dependencies

- certifi
- cryptography
- libyaml
- pillow
- pydantic
- python@3.14
- rpds-py

## Build dependencies

- pkgconf
- rust

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.20.0
- Package-manager updated: 2026-07-01
- Local data: ok
- Upstream repository: https://github.com/ggozad/oterm
- info: No cached GitHub release or tag data was available.
## 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.

### Sources

- <https://api.github.com/repos/ggozad/oterm>
- <https://formulae.brew.sh/formula/oterm>
- <https://ggozad.github.io/oterm/>
- <https://github.com/ggozad/oterm>
- <https://github.com/ggozad/oterm/releases/tag/0.15.0>
- <https://github.com/ggozad/oterm/releases/tag/0.20.0>
- <https://github.com/ollama/ollama>
- <https://pypi.org/project/oterm/0.6.0/>
- <https://raw.githubusercontent.com/ggozad/oterm/main/README.md>


## Security Notes

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.



## 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

- 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

- Unix: ./.env, ${OTERM_DATA_DIR}/config.json
- Windows: ./.env, C:/Users/<USER>/AppData/Roaming/oterm/config.json
## Source Database Details

- **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:** stable

## Other Package-Manager Records

- Nix - oterm: normalized package name match | nixpkgs package indexes: pkgs/by-name/ot/oterm/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [MCP tool packages](https://www.automicvault.com/pkg/mcp-tools/) - Mentions MCP or Model Context Protocol.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [context7-mcp](https://www.automicvault.com/pkg/brew/context7-mcp/) - Shares av.db curated category or tags: ai, cli, developer-tools, llm, mcp.
- [gollama](https://www.automicvault.com/pkg/brew/gollama/) - Shares av.db curated category or tags: ai, cli, developer-tools, llm, ollama.
- [mcphost](https://www.automicvault.com/pkg/brew/mcphost/) - Shares av.db curated category or tags: ai, cli, developer-tools, llm, mcp.
- [rawdog](https://www.automicvault.com/pkg/brew/rawdog/) - Shares av.db curated category or tags: ai, cli, developer-tools, llm, python.
- [aichat](https://www.automicvault.com/pkg/brew/aichat/) - Shares av.db curated category or tags: ai, chat, cli, developer-tools.
- [ctx7](https://www.automicvault.com/pkg/brew/ctx7/) - Shares av.db curated category or tags: ai, cli, developer-tools, mcp.
- [fabric-ai](https://www.automicvault.com/pkg/brew/fabric-ai/) - Shares av.db curated category or tags: ai, cli, developer-tools, llm.
- [gitea-mcp-server](https://www.automicvault.com/pkg/brew/gitea-mcp-server/) - Shares av.db curated category or tags: ai, cli, developer-tools, mcp.
- [mcp-atlassian](https://www.automicvault.com/pkg/brew/mcp-atlassian/) - Both packages touch the same language runtime or ecosystem. Shared terms: ai, certifi, cli, cryptography, developer.
- [gptline](https://www.automicvault.com/pkg/brew/gptline/) - Both packages touch the same language runtime or ecosystem. Shared terms: ai, certifi, cli, client, developer.
- [gptme](https://www.automicvault.com/pkg/brew/gptme/) - Both packages touch the same language runtime or ecosystem. Shared terms: ai, certifi, cli, cryptography, developer.

## Combined YAML source

View the package source record on GitHub. [combined/oterm.yml](https://github.com/automic-vault/db/blob/main/combined/oterm.yml)


## Sources

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