@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:In System Prompts
Polpo dynamically generates model listings for system prompts usingbuildModelListingForPrompt(). 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:| Field | Type | Description |
|---|---|---|
id | string | Model ID used in API calls (e.g. claude-sonnet-4-5-20250929) |
name | string | Human-readable name (e.g. Claude Sonnet 4.5) |
provider | string | Provider ID (e.g. anthropic) |
reasoning | boolean | Supports extended thinking / chain-of-thought |
input | string[] | Supported input types: ["text"], ["text", "image"] |
contextWindow | number | Max input tokens (e.g. 200000) |
maxTokens | number | Max output tokens (e.g. 8192) |
cost.input | number | Cost per 1M input tokens (USD) |
cost.output | number | Cost per 1M output tokens (USD) |
cost.cacheRead | number | Cost per 1M cache-read tokens (USD) |
cost.cacheWrite | number | Cost per 1M cache-write tokens (USD) |
Recommended Models
By Use Case
| Use Case | Recommended Model | Why |
|---|---|---|
| Best all-round | anthropic:claude-sonnet-4-6 | Latest Claude, strong coding and reasoning |
| Most capable | anthropic:claude-opus-4-6 | Complex architecture, multi-step reasoning |
| Fast + cheap | anthropic:claude-haiku-4-5-20251001 | Quick tasks, boilerplate generation |
| Deep reasoning | openai:o3 | Code review, complex logic problems |
| Latest GPT | openai:gpt-5.2 | Newest OpenAI flagship with reasoning |
| Fast inference | groq:llama-3.3-70b-versatile | High throughput, lower quality ceiling |
| Long context | google:gemini-2.5-pro | Large codebases, 1M+ token context |
| Latest Gemini | google:gemini-3-pro-preview | State-of-art reasoning and agentic coding |
| Code generation | mistral:codestral-latest | Specialized code model |
| Budget reasoning | openai:o4-mini | Reasoning at lower cost |
| Self-hosted | ollama:qwen2.5-coder:32b | Zero API cost, full privacy |
By Agent Role
A recommended multi-agent team configuration:Cost Tiers
| Tier | Models | Input $/1M | Output $/1M | Best For |
|---|---|---|---|---|
| Free | opencode:big-pickle | $0 | $0 | Testing, experiments |
| Budget | claude-haiku-4-5, gpt-4o-mini, gemini-2.5-flash, o4-mini | 1 | 5 | High-volume simple tasks |
| Standard | claude-sonnet-4-6, gpt-5.2, gpt-4o, gemini-2.5-pro | 5 | 15 | General coding, daily work |
| Premium | claude-opus-4-6, o3, grok-4 | 15 | 75 | Complex architecture, review |
| Local | Ollama, vLLM, LM Studio | $0 | $0 | Privacy, offline, custom models |
Model Capabilities
Reasoning Models
Models withreasoning: 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 withinput: ["text", "image"] can process images:
anthropic:claude-opus-4-6,claude-sonnet-4-6,claude-haiku-4-5openai:gpt-4o,gpt-4.1,gpt-5.2google:gemini-3-pro-preview,gemini-2.5-pro,gemini-2.5-flashxai:grok-4,grok-4-1-fast-reasoningmistral:mistral-large-latest,pixtral-large-latest
imageModel setting to designate a vision-capable model for image analysis tasks:
Context Window Comparison
| Model | Context Window | Notes |
|---|---|---|
xai:grok-4 | 2,000,000 | Largest available |
google:gemini-2.5-pro | 1,048,576 | Largest Gemini |
google:gemini-3-pro-preview | 1,048,576 | Latest Gemini |
openai:gpt-4.1 | 1,000,000 | Largest GPT-4 |
mistral:codestral-latest | 256,000 | Code-specialized |
anthropic:claude-sonnet-4-6 | 200,000 | Standard for Claude |
anthropic:claude-opus-4-6 | 200,000 | Standard for Claude |
openai:o3 | 200,000 | Reasoning |
openai:gpt-4o | 128,000 | Standard GPT |
groq:llama-3.3-70b-versatile | 131,072 | Open model |
Model Allowlist
For enterprise environments, you can restrict which models agents are allowed to use: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:
polpo models status
Show your resolved model configuration, fallback chain, and auth status:
--check in CI to verify auth is working (exit code 1 = missing, 2 = expiring):
polpo models scan
Discover locally running model servers:
In-Chat: /model Command
During a chat session, switch models without restarting:
| Command | Action |
|---|---|
/model | Show available models as a numbered list |
/model 3 | Select model #3 from the list |
/model anthropic/claude-opus-4-6 | Switch to a specific model |
/model status | Show current model and auth status |
/model reset | Return to the default model |
/model syntax.