Provider Management
Skill for managing model provider priorities with authentication (OAuth/Subscription/API), usage limits, and automatic fallback across all major AI providers
$ Installer
git clone https://github.com/AttendantLion8/provider-fallback-plugin /tmp/provider-fallback-plugin && cp -r /tmp/provider-fallback-plugin/skills/provider-management ~/.claude/skills/provider-fallback-plugin// tip: Run this command in your terminal to install the skill
name: Provider Management description: Skill for managing model provider priorities with authentication (OAuth/Subscription/API), usage limits, and automatic fallback across all major AI providers version: 2.0.0
Provider Management Skill
Comprehensive management of AI models across all major providers with multi-auth support and automatic fallback.
Overview
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) |
Supported Models
Claude (Anthropic)
claude-4-opus,claude-sonnet-4,claude-3.5-sonnet,claude-3.5-haiku,claude-3-opus- Providers: anthropic-subscription, anthropic-oauth, anthropic-api, bedrock, vertex, openrouter
GPT (OpenAI)
gpt-4.1,gpt-4.1-mini,gpt-4o,gpt-4o-mini,o1,o3-mini- Providers: openai-subscription, openai-oauth, openai-api, azure, openrouter
Gemini (Google)
gemini-2.5-pro,gemini-2.5-flash,gemini-2.0-flash,gemini-1.5-pro- Providers: google-subscription, google-oauth, google-api, vertex-google, openrouter
Grok (xAI)
grok-3,grok-3-mini- Providers: xai-subscription, xai-api, openrouter
Other Models
- Llama:
llama-4-maverick,llama-3.3-70b(bedrock, together, groq, openrouter) - DeepSeek:
deepseek-r1,deepseek-v3(deepseek-api, together, openrouter) - Mistral:
mistral-large,codestral(mistral-api, bedrock, azure, openrouter) - Cohere:
command-r-plus(cohere-api, bedrock, openrouter) - Qwen:
qwen-2.5-72b(together, openrouter)
Provider-Specific Model IDs
| 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 |
Available Commands
/provider-auth
Configure 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-models
List 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-priority
Manage provider order.
/provider-priority
/provider-priority set anthropic-subscription,anthropic-api,bedrock
/provider-priority move bedrock 1
/provider-limits
Configure usage limits.
/provider-limits
/provider-limits anthropic-api --daily 1M --monthly 10M
/provider-status
View usage dashboard.
/provider-status
/provider-status bedrock
/provider-status --reset
/provider-switch
Manual control.
/provider-switch bedrock
/provider-switch --auto on
Configuration Files
~/.opencode/provider-fallback/
├── config.json # Priority, limits, settings
├── usage.json # Usage tracking
├── auth.json # Stored credentials (0600 permissions)
└── tokens.json # OAuth tokens
Authentication Priority Flow
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
OAuth Setup (Antigravity-style)
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.
Best Practices
Prioritize Subscriptions
- Configure subscription auth first (highest priority, often includes extra features)
- Add OAuth as secondary (good for personal accounts)
- Use API keys as fallback
Multi-Vendor Setup
# 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
For Reliability
- Configure 2-3 auth methods per vendor
- Set conservative limits (80% of actual)
- Keep auto-switch enabled
- OAuth tokens refresh automatically
Troubleshooting
OAuth Token Expired
Tokens refresh automatically. If manual refresh needed:
/provider-auth refresh google-oauth
Subscription Not Detected
Ensure session token is valid and not expired:
/provider-auth setup anthropic-subscription --key <new-token>
Wrong Auth Method Used
Check configured providers and priorities:
/provider-auth status
The system always prefers: subscription > oauth > api
Repository
