VibeCody supports 29 AI providers, covering cloud APIs, local models, inference platforms, and specialized services, plus a failover wrapper that chains them. This page provides a comparison and links to individual setup guides.
Quick Start
- Pick a provider from the table below
- Follow its setup guide to get an API key (or install locally)
- Set the environment variable or edit
~/.vibecli/config.toml - Run
vibecli --provider <name>or enable it in VibeCoder settings
Provider Comparison
| Provider | Type | API Key Env Var | Default Model | Free Tier | Streaming |
|---|---|---|---|---|---|
| Ollama | Local | None (no key needed) | glm-5.2:cloud |
Yes (fully free) | Yes |
| Claude | Cloud | ANTHROPIC_API_KEY |
claude-opus-5 |
No | Yes |
| OpenAI | Cloud | OPENAI_API_KEY |
gpt-5.6-sol |
No | Yes |
| Gemini | Cloud | GEMINI_API_KEY |
gemini-3.6-flash |
Yes (generous) | Yes |
| DeepSeek | Cloud | DEEPSEEK_API_KEY |
deepseek-v4-pro |
No | Yes |
| Grok | Cloud | GROK_API_KEY |
grok-4.6 |
No | Yes |
| Groq | Cloud | GROQ_API_KEY |
openai/gpt-oss-120b |
Yes (rate-limited) | Yes |
| OpenRouter | Cloud | OPENROUTER_API_KEY |
anthropic/claude-opus-5 |
No | Yes |
| Azure OpenAI | Cloud | AZURE_OPENAI_API_KEY |
gpt-5.6-sol |
No | Yes |
| AWS Bedrock | Cloud | AWS_ACCESS_KEY_ID |
anthropic.claude-sonnet-5 |
No | Yes |
| GitHub Copilot | Cloud | GITHUB_TOKEN |
gpt-5.6-sol |
Yes (with subscription) | Yes |
| Mistral | Cloud | MISTRAL_API_KEY |
mistral-large-latest |
No | Yes |
| Cerebras | Cloud | CEREBRAS_API_KEY |
gpt-oss-120b |
Yes (limited) | Yes |
| Zhipu GLM | Cloud | ZHIPU_API_KEY |
glm-5.2 |
No | Yes |
| Vercel AI | Cloud | Via provider key | Provider-dependent | No | Yes |
| MiniMax | Cloud | MINIMAX_API_KEY |
MiniMax-M3 |
No | Yes |
| Perplexity | Cloud | PERPLEXITY_API_KEY |
sonar-pro |
No | Yes |
| Together AI | Inference | TOGETHER_API_KEY |
moonshotai/Kimi-K2.7-Code |
Yes (limited) | Yes |
| Fireworks AI | Inference | FIREWORKS_API_KEY |
llama-v3p1-70b-instruct |
Yes (limited) | Yes |
| SambaNova | Inference | SAMBANOVA_API_KEY |
Meta-Llama-3.1-70B-Instruct |
Yes (limited) | Yes |
| Poolside | Cloud | POOLSIDE_API_KEY |
poolside/laguna-s-2.1 |
No | Yes |
| Meta | Cloud | META_API_KEY |
muse-spark-1.3 |
No | Yes |
| Moonshot | Cloud | MOONSHOT_API_KEY |
kimi-k3 |
No | Yes |
| Alibaba Qwen | Cloud | DASHSCOPE_API_KEY |
qwen3.8-max |
No | Yes |
| NVIDIA NIM | Cloud | NVIDIA_API_KEY |
nvidia/nemotron-3-super-120b-a12b |
Free credits | Yes |
| Core | Local | None (daemon token) | Qwen/Qwen2.5-Coder-1.5B-Instruct |
Yes (fully free) | Yes |
| vLLM | Local | None (VLLM_API_KEY optional) |
meta-llama/Llama-3.1-8B-Instruct |
Yes (fully free) | Yes |
| LM Studio | Local | None (LMSTUDIO_API_KEY optional) |
qwen2.5-coder-7b-instruct |
Yes (fully free) | Yes |
| Apple Foundation Models | Local | None (accept Apple’s terms in Settings) | system |
Yes (fully free) | Yes |
| LocalEdit | Local | None | Local model | Yes (fully free) | Yes |
| Failover | Wrapper | N/A | N/A | N/A | Yes |
Choosing a Provider
For beginners: Start with Ollama – it is free, runs locally, and requires no API key. Pull qwen3-coder or llama3.2 and you are ready.
For local with nothing to install: Core runs models inside the daemon you are already running – no Ollama, no sidecar. On by default in macOS builds; a build-time feature elsewhere.
For your own GPU at throughput: vLLM serves one open-weight model with batching and paged attention — the option when you are driving a workstation or a shared box rather than a laptop.
For zero setup on macOS 27: Apple Foundation Models runs the on-device Apple model through fm serve — no key, no download. Small context and no native tool calling, so it suits chat and light edits.
For local models with a GUI: LM Studio browses, downloads and swaps models in a desktop app, then exposes them on a local OpenAI-compatible port.
For code-specific models: Poolside trains its Laguna models for software engineering rather than adapting a general chat model.
For best quality: Claude (Opus 4.6 or Sonnet 4.6) and OpenAI (GPT-4o) provide the highest-quality code generation and reasoning.
For budget-conscious use: DeepSeek offers strong coding performance at very low prices. Gemini has a generous free tier.
For fastest inference: Groq runs open-source models on custom LPU hardware with extremely low latency. Cerebras and SambaNova also provide fast inference on custom hardware.
For open models: Together AI, Fireworks AI, and SambaNova host open-source models (Llama, Mixtral, Qwen) with competitive pricing and free tiers.
For search-augmented AI: Perplexity’s Sonar models combine LLM reasoning with real-time web search — excellent for research tasks.
For enterprise: Azure OpenAI and AWS Bedrock integrate with your existing cloud infrastructure and compliance requirements.
For reliability: The Failover provider wraps multiple providers and automatically falls back if one fails.
For training, eval, and cross-cloud routing: the providers above serve chat only. Cloud AI Backends is a separate, configuration-driven layer covering serving → training → eval → routing across DigitalOcean, Azure, Google, AWS, Oracle, IBM, and Akamai — plus any OpenAI-compatible endpoint. Adding or repointing a cloud there is a TOML edit rather than a code change.
Quick Examples by Provider
Every provider works with the same CLI interface. Here are copy-paste examples:
# ── Local (free, private) ─────────────────────────────────────────
ollama pull qwen3-coder
vibecli --provider ollama "Explain the borrow checker"
# In-process mistral.rs — no Ollama, no key (uses the daemon's own token)
vibecli --provider vibecli-mistralrs "Explain the borrow checker"
# vLLM on your own GPU — start it, then point at it (no key by default)
vllm serve meta-llama/Llama-3.1-8B-Instruct
vibecli --provider vllm "Explain the borrow checker"
# LM Studio — load a model, Developer tab -> Start Server
vibecli --provider lmstudio "Explain the borrow checker"
# macOS 27 on-device model — accept Apple's terms in Settings first
vibecli --provider apple-foundation "Explain the borrow checker"
# ── Cloud APIs ────────────────────────────────────────────────────
export ANTHROPIC_API_KEY="sk-ant-..."
vibecli --provider claude "Fix the bug in src/auth.rs" --agent
export OPENAI_API_KEY="sk-..."
vibecli --provider openai --model gpt-5.6-sol "Write unit tests for parser.rs"
export GEMINI_API_KEY="AIza..."
vibecli --provider gemini "Summarize this codebase" --add-dir ./src/
export GROK_API_KEY="..."
vibecli --provider grok "What does this error mean? E0308: mismatched types"
# ── Fast inference (great for quick iterations) ───────────────────
export GROQ_API_KEY="gsk_..."
vibecli --provider groq "Convert this JSON to a Rust struct"
export CEREBRAS_API_KEY="..."
vibecli --provider cerebras "Write a regex for email validation"
export SAMBANOVA_API_KEY="..."
vibecli --provider sambanova "Explain this stack trace"
# ── Budget-friendly ───────────────────────────────────────────────
export DEEPSEEK_API_KEY="..."
vibecli --provider deepseek "Write comprehensive tests for src/db.rs"
# ── Search-augmented ──────────────────────────────────────────────
export PERPLEXITY_API_KEY="pplx-..."
vibecli --provider perplexity "What breaking changes are in Tokio 1.40?"
# ── Code-specific models ─────────────────────────────────────────
export POOLSIDE_API_KEY="..."
vibecli --provider poolside "Refactor src/auth.rs to use the newtype pattern"
# ── Multi-model gateways ─────────────────────────────────────────
export OPENROUTER_API_KEY="sk-or-..."
vibecli --provider openrouter --model "meta-llama/llama-3.3-70b" "Hello"
# ── Enterprise ────────────────────────────────────────────────────
export AZURE_OPENAI_API_KEY="..." AZURE_OPENAI_ENDPOINT="https://myco.openai.azure.com"
vibecli --provider azure "Audit this code for OWASP top 10"
export AWS_ACCESS_KEY_ID="AKIA..." AWS_SECRET_ACCESS_KEY="..." AWS_REGION="us-east-1"
vibecli --provider bedrock "Generate a CloudFormation template"
vibecli --provider copilot "Complete this function" # Uses existing GitHub Copilot
# ── Failover chain ────────────────────────────────────────────────
vibecli --provider failover "Fix the build errors"
# Tries: claude → openai → gemini → ollama (configured in config.toml)
Agent Mode Examples
# Interactive (approve each step)
vibecli --agent "Add input validation to all API endpoints" --provider claude
# Auto-edit (approve shell commands only)
vibecli --agent "Refactor to async/await" --provider openai --auto-edit
# Full-auto (CI/scripts — no prompts)
vibecli --exec "Run tests and fix any failures" --provider claude --full-auto
# Resume a previous session (continues on its own)
vibecli --resume 1711234567
REPL Session
vibecli
> [src/main.rs] # Add file to context
> What does this function do?
> /model claude-opus-4-6 # Switch mid-conversation
> Now refactor it to use async
> /cost # Check token usage
Configuration
All providers are configured in ~/.vibecli/config.toml. See the Configuration Guide for the full reference with all 21 providers, usage examples, and safety settings.
Environment variables take precedence over config file values.
# Example: enable Claude and Ollama
[claude]
enabled = true
model = "claude-sonnet-4-6"
[ollama]
enabled = true
api_url = "http://localhost:11434"
model = "glm-5.2:cloud"
API Key Helpers
For teams that rotate keys or use vaults, every provider supports an api_key_helper field that runs a script to fetch the current key:
[claude]
enabled = true
api_key_helper = "~/.vibecli/get-key.sh claude"
The script must print the API key to stdout and exit with code 0.
Tuning a provider’s harness
Which tools a provider’s models receive — machine-readable schemas or a prose catalogue — and which system prompt goes with that choice are per-provider decisions, and per-model where you want them to be. So are the output cap, the reasoning budget, and any instructions that apply to one model alone.
VibeCody ships defaults for every provider listed here and lets you change them
per (provider, model) pair, in Settings → Model Harness or over
/harness/profile. See Model Harness Profiles.