OMP Docs
Models & providers

Providers

Choose an account, API-key, local, or custom model route; authenticate it; and select a model that omp can actually use.

Choose the route that fits

A provider is the account or backend, such as anthropic, openai-codex, or ollama. A model is selected as provider/model-id.

For most people, the shortest path is:

  1. Start omp.
  2. Run /model.
  3. Choose a provider. Providers without credentials appear as not configured; select one and press Enter to start its login flow when available.
  4. Choose a model after login finishes.

Use this table if you already know how you want to authenticate:

RouteBest forFirst action
OAuth or account sign-inBrowser, device-code, and hosted-account flowsIn omp, run /login, or jump to one provider with /login openai-codex
Coding subscriptionChatGPT Plus/Pro, Claude Pro/Max, Copilot, and other supported plansUse the plan's provider ID, not the vendor's API provider ID
API keyUsage-based APIs, CI, and non-interactive shellsExport the provider's environment variable, then start omp
Local enginePrivate or offline-capable inference with Ollama, llama.cpp, or LM StudioStart the engine; omp discovers it without a login
Custom endpointTeam gateways, self-hosted APIs, and providers not built inAdd the endpoint to ~/.omp/agent/models.yml

Account subscriptions and developer APIs are often separate products. For example, ChatGPT credentials use openai-codex; openai expects OPENAI_API_KEY. Google and xAI have similar splits. See Provider-specific caveats before guessing an ID.

Get one route working

Inside an interactive session:

/login openai-codex

Follow the browser, device-code, or paste-code instructions shown by omp. For a remote terminal, the flow may ask you to paste the final redirect URL or code back as /login <value>. When a provider supports several accounts or workspaces, run /login <provider> again to add another one; omp can rotate managed accounts.

Then verify and select a concrete model:

omp models openai-codex
omp --model openai-codex/gpt-5.5

omp models <provider> prints only models currently available to this installation. Copy a selector from that output if the example model has changed. In an existing session, run /model or /model provider/model-id instead.

Use /logout to choose credentials to remove, or /logout <provider> to open that provider directly.

How models become available

At startup, omp assembles the model registry in this order:

  1. bundled providers and known models;
  2. provider overrides and custom models from ~/.omp/agent/models.yml or models.yaml;
  3. cached or live discovery for supported providers and local engines;
  4. providers and models registered by loaded extensions.

A custom model with the same provider and id replaces the bundled entry. Runtime discovery can update the models exposed by a provider; model overrides are reapplied afterward.

A model is selectable only when:

  • its provider is not in the effective disabledProviders list; and
  • the provider is keyless or has a credential omp can resolve.

Useful checks:

omp models                    # all currently available models
omp models find sonnet        # search provider, ID, selector, or display name
omp models refresh            # force fresh online discovery, then list

Inside the TUI, /model includes available models and shows catalog providers without credentials as locked. Selecting a login-capable locked provider starts its setup. Disabled providers are omitted.

For initial selection, an explicit --model wins. Without it, omp considers the active model scope, a saved default, known provider defaults, and finally the first available model. Prefer an exact provider/model-id when the same model ID exists through several routes; bare IDs and fuzzy --model patterns depend on the available catalog and configured provider order. See Model roles for persistent defaults and task-specific model choices.

Credential precedence

When several credentials exist for the same provider, omp uses the first applicable source:

  1. runtime --api-key for this process;
  2. models.yml providers.<id>.apiKey;
  3. stored OAuth credentials, refreshed when needed;
  4. an API key stored by /login;
  5. the provider environment variable, including values loaded from .env;
  6. another stored API key, such as a broker-migrated key;
  7. a custom-provider fallback resolver.

Pinned keys beat OAuth

A stored OAuth login normally wins over ANTHROPIC_API_KEY in the environment, while a key explicitly pinned in models.yml wins over OAuth. Keep provider IDs separate when you want both account and API access available.

Local credentials normally live in ~/.omp/agent/agent.db. With an auth broker configured, login, logout, refresh, and credential reads use the remote store instead. See Secrets and auth for storage, multiple accounts, the auth broker, and the provider-compatible auth gateway.

Current provider matrix

The live catalog is authoritative: run omp models after authenticating. The groups below cover the current built-in model-provider IDs and the normal setup route.

RouteProvider IDsNormal setup
Major model APIsanthropic, openai, google, groq, mistral, xai, deepseek, openrouterAPI key; anthropic, xai, deepseek, and openrouter also offer guided /login setup
Account and subscription accessopenai-codex, github-copilot, cursor, google-antigravity, google-gemini-cli, kimi-code, xai-oauth, devin, firepass, ollama-cloud/login <provider>
Coding plans and regional portalsaiand, alibaba-coding-plan, alibaba-token-plan, minimax-code, minimax-code-cn, qwen-portal, umans, xiaomi, xiaomi-token-plan-ams, xiaomi-token-plan-cn, xiaomi-token-plan-sgp, zai, zhipu-coding-plan/login <provider>; the flow either signs in or validates a pasted plan key
Git-hosted assistantsgitlab-duo, gitlab-duo-agent/login <provider> or GITLAB_TOKEN; GitHub Copilot is listed with subscriptions above
Hosted inference APIsaimlapi, baseten, cerebras, coreweave, fireworks, gmi-cloud, huggingface, meta, minimax, moonshot, nanogpt, nvidia, novita, qianfan, sakana, siliconflow, siliconflow-cn, synthetic, together, venice, wafer-serverlessProvider API key; most also support guided /login key entry
Gateways and aggregatorscloudflare-ai-gateway, kilo, litellm, opencode-go, opencode-zen, vercel-ai-gateway, zenmuxGateway key and, where required, a base URL or account/team setting
Cloud identity routesamazon-bedrock, bedrock-mantle, azure, google-vertexCloud-specific credentials and region/project/endpoint configuration
Local and self-hosted enginesollama, llama.cpp, lm-studio, vllmStart the endpoint; authenticate only if the endpoint requires it

Exact environment-variable names are intentionally centralized in Environment variables, because some providers accept more than one credential source.

Provider-specific caveats

Provider or familyWhat to know
OpenAIopenai-codex is ChatGPT subscription access. openai is the developer API and uses OPENAI_API_KEY. For a headless Codex sign-in, choose openai-codex-device; it stores the result for openai-codex.
AnthropicThe anthropic route supports Claude Pro/Max OAuth and API keys. Repeating login can add separate organizations or subscription workspaces. A pinned models.yml key overrides stored OAuth. Foundry deployments have separate enterprise credential settings.
Googlegoogle uses GEMINI_API_KEY; google-gemini-cli and google-antigravity use account sign-in; google-vertex uses Google Cloud project/location credentials. These IDs are not interchangeable.
xAIxai is the paid API-key route. xai-oauth is the SuperGrok or X Premium+ account route.
GitHub CopilotLogin uses GitHub's device flow. Enterprise users must authenticate against the intended Enterprise host; that host and API endpoint are kept with the credential.
GitLab Duogitlab-duo is the non-agentic route; gitlab-duo-agent is the Duo Agent route. Both can use GITLAB_TOKEN, but their model catalogs and request paths differ.
Z.AI/login zai validates a coding-plan API key. The separate sign-in choice zai-coding-plan stores its minted credential under the model provider zai, so model selectors still start with zai/.
Azure OpenAIA key alone is not enough if omp cannot infer your deployment endpoint. Configure the Azure endpoint/deployment route described in Custom models & providers.
Google VertexApplication Default Credentials require a project and location. A catalog entry may exist before cloud identity is usable, so verify with omp models google-vertex.
Amazon BedrockBedrock uses the AWS credential chain and region rather than a normal bearer key. bedrock-mantle is a separate bearer-token route.
GatewaysUse the gateway's provider ID when it has built-in discovery. For a private gateway or nonstandard URL, use models.yml; its configured apiKey deliberately overrides any stored upstream OAuth token.
Local enginesAutomatic discovery is skipped when the same provider ID is explicitly configured or disabled. The engine must already be running and expose at least one model.

Troubleshooting


Source: omp.sh — MIT, Stencil Labs. Initially imported on 2026-10-03; updates via automatic sync.

OMP Docs· always in sync with upstream
oh-my-piomp.sh/docsContent MIT · Stencil Labs