Skill for managing model provider priorities with authentication (OAuth/Subscription/API), usage limits, and automatic fallback across all major AI providers
Comprehensive management of AI models across all major providers with multi-auth support and automatic fallback.
Supports ALL major AI providers and models with three authentication methods:
| Priority | Auth Type | Description |
|---|---|---|
| 100 | Subscription | Pro/Plus/Max subscriptions (highest priority) |
| 50 | OAuth | OAuth 2.0 tokens (Antigravity-style) |
| 10 | API | Direct API keys (lowest priority) |
claude-4-opus, claude-sonnet-4, claude-3.5-sonnet, claude-3.5-haiku, claude-3-opusgpt-4.1, gpt-4.1-mini, gpt-4o, gpt-4o-mini, o1, o3-minigemini-2.5-pro, gemini-2.5-flash, gemini-2.0-flash, gemini-1.5-progrok-3, grok-3-minillama-4-maverick, llama-3.3-70b (bedrock, together, groq, openrouter)deepseek-r1, deepseek-v3 (deepseek-api, together, openrouter)mistral-large, codestral (mistral-api, bedrock, azure, openrouter)command-r-plus (cohere-api, bedrock, openrouter)qwen-2.5-72b (together, openrouter)| Canonical | anthropic-api | bedrock | vertex | openrouter |
|---|---|---|---|---|
| claude-sonnet-4 | claude-sonnet-4-20250514 | anthropic.claude-sonnet-4-20250514-v1:0 | claude-sonnet-4@20250514 | anthropic/claude-sonnet-4 |
| gpt-4o | gpt-4o-2024-11-20 | - | - | openai/gpt-4o |
| gemini-2.5-pro | - | - | gemini-2.5-pro-preview-05-06 | google/gemini-2.5-pro-preview |
/provider-authConfigure authentication for providers.
# View all auth status
/provider-auth status
# Set API key
/provider-auth setup anthropic-api --key sk-ant-...
# Start OAuth flow (Antigravity-style)
/provider-auth oauth google-oauth
# Set subscription token
/provider-auth setup anthropic-subscription --key <session-token>
/provider-modelsList models and provider mappings.
# List all models
/provider-models list
# Filter by family
/provider-models list --filter claude
# Get model info with all provider IDs
/provider-models info claude-sonnet-4
# Filter by capability
/provider-models capability reasoning
/provider-priorityManage provider order.
/provider-priority
/provider-priority set anthropic-subscription,anthropic-api,bedrock
/provider-priority move bedrock 1
/provider-limitsConfigure usage limits.
/provider-limits
/provider-limits anthropic-api --daily 1M --monthly 10M
/provider-statusView usage dashboard.
/provider-status
/provider-status bedrock
/provider-status --reset
/provider-switchManual control.
/provider-switch bedrock
/provider-switch --auto on
~/.opencode/provider-fallback/
โโโ config.json # Priority, limits, settings
โโโ usage.json # Usage tracking
โโโ auth.json # Stored credentials (0600 permissions)
โโโ tokens.json # OAuth tokens
1. Request comes in for model (e.g., claude-sonnet-4)
2. Get all configured providers for that model's vendor
3. Sort by auth priority: subscription (100) > oauth (50) > api (10)
4. Filter by usage capacity
5. Select best available provider
6. Get provider-specific model ID
7. Make request with appropriate credentials
For Google, Anthropic, or OpenAI OAuth:
# 1. Start OAuth flow
/provider-auth oauth google-oauth
# 2. Enter client ID and secret when prompted
# 3. Browser opens for authorization
# 4. Callback server receives token
# 5. Tokens stored securely
OAuth tokens auto-refresh when within 60 seconds of expiry.
# Configure multiple vendors
/provider-auth setup anthropic-subscription --key <token>
/provider-auth setup openai-api --key sk-...
/provider-auth setup google-api --key AIza...
# System auto-selects best for each model family
Tokens refresh automatically. If manual refresh needed:
/provider-auth refresh google-oauth
Ensure session token is valid and not expired:
/provider-auth setup anthropic-subscription --key <new-token>
Check configured providers and priorities:
/provider-auth status
The system always prefers: subscription > oauth > api