Skip to main content
Esprit CLI supports multiple LLM providers through both OAuth and API key authentication. Each provider offers different models and features.

Supported Providers

Esprit integrates with the following LLM providers:

Esprit Cloud

Use your Esprit subscription (Pro/Team/Enterprise)

OpenCode Zen

Access to 40+ models including GPT-5, Claude 4, Gemini 3

Anthropic

Claude Pro/Max subscription with OAuth or API key

OpenAI

ChatGPT Plus/Pro subscription or API key

GitHub Copilot

Use your GitHub Copilot subscription

Google

Google Gemini via OAuth or API key

Antigravity

Free access to Claude and Gemini models

Provider Registry

The following providers are registered in Esprit CLI:
esprit/providers/__init__.py
PROVIDERS: dict[str, type[ProviderAuth]] = {
    "esprit": EspritSubsProvider,
    "anthropic": AnthropicOAuthProvider,
    "openai": OpenAICodexProvider,
    "github-copilot": CopilotProvider,
    "google": GoogleGeminiProvider,
    "antigravity": AntigravityProvider,
    "opencode": OpenCodeZenProvider,
}

Available Models by Provider

Esprit Cloud

MODELS = [
    ("default", "Esprit Default"),
    ("kimi-k2.5", "Esprit Pro"),
    ("haiku", "Esprit Fast"),
]
Use with: esprit/default, esprit/kimi-k2.5, esprit/haiku

OpenAI

MODELS = [
    ("gpt-5.3-codex", "GPT-5.3 Codex (recommended)"),
    ("gpt-5.1-codex", "GPT-5.1 Codex"),
    ("gpt-5.1-codex-max", "GPT-5.1 Codex Max (maximum context)"),
    ("gpt-5.1-codex-mini", "GPT-5.1 Codex Mini (faster)"),
    ("codex-mini-latest", "Codex Mini (faster, lightweight)"),
    ("gpt-5.2", "GPT-5.2"),
    ("gpt-5.2-codex", "GPT-5.2 Codex"),
]
Use with: openai/gpt-5.3-codex, openai/gpt-5.2, etc.

Anthropic

MODELS = [
    ("claude-sonnet-4-5-20250514", "Claude Sonnet 4.5 (recommended)"),
    ("claude-opus-4-5-20251101", "Claude Opus 4.5 (advanced reasoning)"),
    ("claude-haiku-4-5-20251001", "Claude Haiku 4.5 (faster)"),
]
Use with: anthropic/claude-sonnet-4-5-20250514, etc.

GitHub Copilot

MODELS = [
    ("gpt-5", "GPT-5 (via Copilot)"),
    ("claude-sonnet-4-5", "Claude Sonnet 4.5 (via Copilot)"),
]
Use with: github-copilot/gpt-5, github-copilot/claude-sonnet-4-5

Google

MODELS = [
    ("gemini-3-pro", "Gemini 3 Pro (recommended)"),
    ("gemini-3-flash", "Gemini 3 Flash (faster)"),
    ("gemini-2.5-flash", "Gemini 2.5 Flash"),
]
Use with: google/gemini-3-pro, google/gemini-3-flash, etc.

OpenCode Zen

OpenCode provides access to 40+ models including:
MODELS = [
    # OpenAI Models
    ("gpt-5.2-codex", "GPT-5.2 Codex (recommended)"),
    ("gpt-5.1-codex", "GPT-5.1 Codex"),
    ("gpt-5-nano", "GPT-5 Nano"),
    
    # Claude Models
    ("claude-opus-4-6", "Claude Opus 4.6"),
    ("claude-sonnet-4-6", "Claude Sonnet 4.6"),
    ("claude-opus-4-5", "Claude Opus 4.5"),
    
    # Gemini Models
    ("gemini-3.1-pro", "Gemini 3.1 Pro"),
    ("gemini-3-pro", "Gemini 3 Pro"),
    
    # Chinese Models
    ("kimi-k2.5", "Kimi K2.5"),
    ("glm-5", "GLM-5"),
    ("minimax-m2.5", "MiniMax M2.5"),
    ("qwen3-coder", "Qwen3 Coder"),
    
    # Free Models (no auth required)
    ("gpt-5-nano", "GPT-5 Nano"),
    ("kimi-k2.5-free", "Kimi K2.5 Free"),
    ("minimax-m2.5-free", "MiniMax M2.5 Free"),
    ("glm-5-free", "GLM-5 Free"),
]
OpenCode Zen automatically detects available models from ~/.config/opencode/opencode.json and the OpenCode API endpoint.
Use with: opencode/gpt-5.2-codex, opencode/claude-opus-4-6, etc.

Antigravity (Free)

Antigravity provides free access to premium models:
MODELS = [
    ("claude-opus-4-6-thinking", "Claude Opus 4.6 Thinking (free)"),
    ("claude-opus-4-5-thinking", "Claude Opus 4.5 Thinking (free)"),
    ("claude-sonnet-4-5-thinking", "Claude Sonnet 4.5 Thinking (free)"),
    ("claude-sonnet-4-5", "Claude Sonnet 4.5 (free)"),
    ("gemini-2.5-flash", "Gemini 2.5 Flash (free)"),
    ("gemini-2.5-pro", "Gemini 2.5 Pro (free)"),
    ("gemini-3-flash", "Gemini 3 Flash (free)"),
    ("gemini-3-pro-high", "Gemini 3 Pro High (free)"),
]
Antigravity is a free service with no guaranteed uptime or rate limits. Use for testing and development.
Use with: antigravity/claude-opus-4-6-thinking, etc.

Multi-Account Support

Some providers support multiple accounts:
esprit/providers/constants.py
MULTI_ACCOUNT_PROVIDERS: frozenset[str] = frozenset({"openai", "antigravity"})
These providers allow you to:
  • Add multiple accounts with esprit provider login
  • Rotate between accounts automatically
  • Manage accounts independently

Selecting a Provider

esprit provider login
This shows an interactive menu of all available providers:
Select a provider to login:

  [ ] 1. Esprit (Use Your Subscription)
  [✓] 2. OpenCode Zen
  [ ] 3. Anthropic (Claude Pro/Max)
  [✓] 4. OpenAI (ChatGPT Plus/Pro)
  [ ] 5. GitHub Copilot
  [ ] 6. Google (Gemini)
  [✓] 7. Antigravity (Free Claude/Gemini)

Enter number:

Checking Provider Status

 esprit provider status
Example output:
Provider Authentication Status

┌─────────────────────────┬────────────────────┬──────────┐
│ Provider                │ Status             │ Type     │
├─────────────────────────┼────────────────────┼──────────┤
│ Esprit                  │ ✓ Logged in (PRO)  │ PLATFORM │
│ Anthropic               │ ✓ Logged in        │ OAUTH    │
│ OpenAI                  │ ✓ 2 accounts       │ OAUTH    │
│ GitHub Copilot          │ Not configured     │ -        │
│ Google                  │ ✓ Logged in        │ OAUTH    │
│ Antigravity             │ ✓ 1 account        │ OAUTH    │
│ OpenCode Zen            │ ✓ Logged in        │ API KEY  │
└─────────────────────────┴────────────────────┴──────────┘

Provider Configuration Path

esprit/providers/config.py
def get_opencode_config_path() -> Path:
    """Resolve opencode.json path following XDG_CONFIG_HOME."""
    xdg_config = os.environ.get("XDG_CONFIG_HOME")
    if xdg_config:
        return Path(xdg_config) / "opencode" / "opencode.json"
    return Path.home() / "..config" / "opencode" / "opencode.json"
OpenCode Zen configuration is shared with the OpenCode CLI at ~/.config/opencode/opencode.json.

Next Steps

Authentication

Set up OAuth and API key authentication

Environment Variables

Configure provider settings via environment variables

Build docs developers (and LLMs) love