Skip to main content
Polpo maintains a live model catalog sourced from the @mariozechner/pi-ai library. Every model in the catalog includes structured metadata: cost per token, context window size, max output tokens, supported input types, and whether it supports reasoning mode.

Browsing the Catalog

Programmatic Access

The catalog is accessible through the Polpo API:
import { listProviders, listModels, getModelInfo } from "polpo/llm";

// List all available providers
const providers = listProviders();
// → ["anthropic", "openai", "google", "groq", "mistral", ...]

// List all models for a provider
const anthropicModels = listModels("anthropic");
// → [{ id: "claude-opus-4-6", name: "Claude Opus", provider: "anthropic", ... }, ...]

// List ALL models across ALL providers
const allModels = listModels();
// → hundreds of models

// Get details for a specific model
const info = getModelInfo("anthropic:claude-sonnet-4-5-20250929");
// → { id: "claude-sonnet-4-5-20250929", reasoning: true, contextWindow: 200000, ... }

In System Prompts

Polpo dynamically generates model listings for system prompts using buildModelListingForPrompt(). This means agents always have an up-to-date view of available models — no hardcoded lists.

Model Metadata

Every model in the catalog carries these fields:
FieldTypeDescription
idstringModel ID used in API calls (e.g. claude-sonnet-4-5-20250929)
namestringHuman-readable name (e.g. Claude Sonnet 4.5)
providerstringProvider ID (e.g. anthropic)
reasoningbooleanSupports extended thinking / chain-of-thought
inputstring[]Supported input types: ["text"], ["text", "image"]
contextWindownumberMax input tokens (e.g. 200000)
maxTokensnumberMax output tokens (e.g. 8192)
cost.inputnumberCost per 1M input tokens (USD)
cost.outputnumberCost per 1M output tokens (USD)
cost.cacheReadnumberCost per 1M cache-read tokens (USD)
cost.cacheWritenumberCost per 1M cache-write tokens (USD)

By Use Case

Use CaseRecommended ModelWhy
Best all-roundanthropic:claude-sonnet-4-6Latest Claude, strong coding and reasoning
Most capableanthropic:claude-opus-4-6Complex architecture, multi-step reasoning
Fast + cheapanthropic:claude-haiku-4-5-20251001Quick tasks, boilerplate generation
Deep reasoningopenai:o3Code review, complex logic problems
Latest GPTopenai:gpt-5.2Newest OpenAI flagship with reasoning
Fast inferencegroq:llama-3.3-70b-versatileHigh throughput, lower quality ceiling
Long contextgoogle:gemini-2.5-proLarge codebases, 1M+ token context
Latest Geminigoogle:gemini-3-pro-previewState-of-art reasoning and agentic coding
Code generationmistral:codestral-latestSpecialized code model
Budget reasoningopenai:o4-miniReasoning at lower cost
Self-hostedollama:qwen2.5-coder:32bZero API cost, full privacy

By Agent Role

A recommended multi-agent team configuration:
{
  "agents": [
    {
      "name": "architect",
      "model": "anthropic:claude-opus-4-6",
      "role": "System design — needs deep reasoning and broad context"
    },
    {
      "name": "coder",
      "model": "anthropic:claude-sonnet-4-6",
      "role": "Implementation — best balance of speed and quality"
    },
    {
      "name": "reviewer",
      "model": "openai:o3",
      "role": "Code review — deep reasoning catches subtle bugs"
    },
    {
      "name": "fast-worker",
      "model": "groq:llama-3.3-70b-versatile",
      "role": "Boilerplate, formatting, simple refactoring — speed matters"
    },
    {
      "name": "researcher",
      "model": "google:gemini-2.5-pro",
      "role": "Large codebase analysis — needs massive context window"
    }
  ],
  "settings": {
    "orchestratorModel": "anthropic:claude-sonnet-4-6"
  }
}

Cost Tiers

TierModelsInput $/1MOutput $/1MBest For
Freeopencode:big-pickle$0$0Testing, experiments
Budgetclaude-haiku-4-5, gpt-4o-mini, gemini-2.5-flash, o4-mini0.150.15 - 10.600.60 - 5High-volume simple tasks
Standardclaude-sonnet-4-6, gpt-5.2, gpt-4o, gemini-2.5-pro1.751.75 - 588 - 15General coding, daily work
Premiumclaude-opus-4-6, o3, grok-433 - 151515 - 75Complex architecture, review
LocalOllama, vLLM, LM Studio$0$0Privacy, offline, custom models

Model Capabilities

Reasoning Models

Models with reasoning: true support extended thinking, where the model generates a chain-of-thought before producing the final answer. These are best for complex tasks:
  • anthropic:claude-opus-4-6, claude-sonnet-4-6, claude-sonnet-4-5 (extended thinking)
  • openai:o3, o3-pro, o4-mini (chain-of-thought)
  • openai:gpt-5.2, gpt-5.1, gpt-5 (built-in reasoning)
  • google:gemini-3-pro-preview, gemini-2.5-pro, gemini-2.5-flash (thinking)
  • xai:grok-4, grok-3-mini, grok-code-fast-1 (reasoning)
  • mistral:magistral-medium-latest, magistral-small-latest (chain-of-thought)
  • groq:deepseek-r1-distill-llama-70b, qwen/qwen3-32b (open reasoning)

Vision Models

Models with input: ["text", "image"] can process images:
  • anthropic:claude-opus-4-6, claude-sonnet-4-6, claude-haiku-4-5
  • openai:gpt-4o, gpt-4.1, gpt-5.2
  • google:gemini-3-pro-preview, gemini-2.5-pro, gemini-2.5-flash
  • xai:grok-4, grok-4-1-fast-reasoning
  • mistral:mistral-large-latest, pixtral-large-latest
Use the imageModel setting to designate a vision-capable model for image analysis tasks:
{
  "settings": {
    "imageModel": "anthropic:claude-sonnet-4-5-20250929"
  }
}

Context Window Comparison

ModelContext WindowNotes
xai:grok-42,000,000Largest available
google:gemini-2.5-pro1,048,576Largest Gemini
google:gemini-3-pro-preview1,048,576Latest Gemini
openai:gpt-4.11,000,000Largest GPT-4
mistral:codestral-latest256,000Code-specialized
anthropic:claude-sonnet-4-6200,000Standard for Claude
anthropic:claude-opus-4-6200,000Standard for Claude
openai:o3200,000Reasoning
openai:gpt-4o128,000Standard GPT
groq:llama-3.3-70b-versatile131,072Open model

Model Allowlist

For enterprise environments, you can restrict which models agents are allowed to use:
{
  "settings": {
    "modelAllowlist": {
      "anthropic:claude-sonnet-4-5-20250929": {
        "alias": "Sonnet",
        "params": {}
      },
      "anthropic:claude-haiku-4-5-20251001": {
        "alias": "Haiku",
        "params": {}
      },
      "openai:gpt-4o": {
        "alias": "GPT",
        "params": {}
      }
    }
  }
}
When a modelAllowlist is configured, any agent or plan that tries to use a model not in the list will be rejected. The /model in-chat command also enforces the allowlist. This is useful for:
  • Cost control — only allow budget-tier models
  • Compliance — restrict to approved vendors
  • Consistency — ensure all agents use tested models

CLI: polpo models

polpo models list

Browse the full catalog from the command line:
# Featured models by provider
polpo models list

# All models for a provider
polpo models list --provider anthropic

# All models (no truncation)
polpo models list --all

# Machine-readable formats
polpo models list --plain    # one per line: provider:model
polpo models list --json     # full JSON with metadata

polpo models status

Show your resolved model configuration, fallback chain, and auth status:
polpo models status
Model Configuration

  * Primary: anthropic:claude-sonnet-4-5-20250929
    Claude Sonnet 4.5 | 200k ctx | reasoning

  Fallback chain:
    1. openai:gpt-4o
    2. groq:llama-3.3-70b-versatile

  Provider Auth:

    anthropic: env + oauth (2 profiles)
    openai: env
    groq: env
Use --check in CI to verify auth is working (exit code 1 = missing, 2 = expiring):
polpo models status --check

polpo models scan

Discover locally running model servers:
polpo models scan
Probes standard ports for Ollama (11434), vLLM (8000), LM Studio (1234), LocalAI (8080), LiteLLM (4000), and TGI (8080). Reports discovered servers and their loaded models.

In-Chat: /model Command

During a chat session, switch models without restarting:
CommandAction
/modelShow available models as a numbered list
/model 3Select model #3 from the list
/model anthropic/claude-opus-4-6Switch to a specific model
/model statusShow current model and auth status
/model resetReturn to the default model
You can also pin a specific auth profile for the session:
/model claude-opus-4-6@anthropic:user@example.com
See the Authentication guide for full /model syntax.