Skip to main content
GSD Pi supports a wide range of LLM providers. During first-run setup, the onboarding wizard walks you through provider configuration. At any point afterward, re-run the setup wizard to add or change providers.
gsd config
This opens an interactive wizard that shows which credentials are configured and which are missing. Select a provider to enter or update its credentials.

Supported Providers

ProviderEnvironment VariableNotes
Anthropic (Claude)ANTHROPIC_API_KEYRecommended. Deepest integration: built-in web search, extended thinking, prompt caching.
OpenAIOPENAI_API_KEYGPT-4o, o1, o3, and all current OpenAI models.
Google GeminiGEMINI_API_KEYGemini 1.5 Pro, Flash, and Gemini 2.x models.
OpenRouterOPENROUTER_API_KEY200+ models from multiple providers via a single key.
GroqGROQ_API_KEYHigh-throughput inference for Llama, Mixtral, and others.
xAI (Grok)XAI_API_KEYGrok-2 and Grok-3 models.
MistralMISTRAL_API_KEYMistral Large, Small, and Codestral.
GitHub CopilotGH_TOKENOAuth-based — sign in via browser with gsd config.
Set any of these as environment variables before starting GSD:
export ANTHROPIC_API_KEY="sk-ant-..."
gsd
Or save them permanently with gsd config — keys are stored in ~/.gsd/agent/auth.json and apply to all projects automatically.

Listing Available Models

List all models GSD can find with your current credentials:
gsd --list-models
Filter by name or provider:
gsd --list-models claude
gsd --list-models gpt-4
gsd --list-models openrouter

Overriding the Model for a Session

Pass --model when starting GSD to use a specific model for that session, ignoring whatever is set in preferences:
gsd --model claude-opus-4-6
gsd --model openrouter/deepseek/deepseek-r1

Switching Models In-Session

Change the active model without restarting the session:
/gsd model
This opens an interactive model picker showing all available models from your configured providers. The models.json file reloads each time you open the picker — no restart needed. You can also switch directly:
/gsd model claude-haiku-4-5-20250414

Using Claude Subscriptions via Claude Code

If you have a Claude Pro, Max, Team, or Enterprise subscription, authenticate through Anthropic’s official Claude Code CLI instead of an API key:
# Install and sign into Claude Code
claude

# Then start GSD — it detects Claude Code automatically
gsd
GSD detects your local Claude Code installation and routes through it automatically. This is the terms-of-service-compliant path for subscription users — GSD never handles your subscription credentials directly.

Adding Custom or Unlisted Models

Define custom models, local endpoints, and OpenAI-compatible proxies in ~/.gsd/agent/models.json:
{
  "providers": {
    "my-custom-endpoint": {
      "baseUrl": "https://my-proxy.example.com/v1",
      "apiKey": "MY_PROVIDER_API_KEY",
      "api": "openai-completions",
      "models": [
        {
          "id": "my-model-id",
          "name": "My Custom Model",
          "contextWindow": 128000,
          "maxTokens": 16384,
          "cost": { "input": 0.15, "output": 0.60, "cacheRead": 0, "cacheWrite": 0 }
        }
      ]
    }
  }
}
The apiKey value is the name of the environment variable GSD should read (not the literal key). GSD resolves it automatically at runtime.

Per-Phase Model Routing

Assign different providers or models to different phases of the auto-mode pipeline in PREFERENCES.md:
models:
  research: openrouter/deepseek/deepseek-r1    # Cheaper for research
  planning: claude-opus-4-6                     # Best quality for planning
  execution: claude-sonnet-4-6                  # Balanced for execution
  execution_simple: claude-haiku-4-5-20250414   # Fast and cheap for simple tasks

Verifying Your Setup

After configuring a provider, verify everything is working:
1

Start GSD

gsd
2

Open the model picker

/gsd model
Your provider’s models should appear in the list.
3

Run a health check

/gsd doctor
GSD checks provider connectivity and reports any credential or configuration issues.
If a model doesn’t appear, check that:
  • The environment variable is exported in the current shell
  • ~/.gsd/agent/models.json is valid JSON (cat ~/.gsd/agent/models.json | python3 -m json.tool)
  • The local inference server is running (for Ollama, LM Studio, etc.)