# Gemini Models Guide
**Updated**: 2025-11-22 (Gemini 3 Support)
---
## 🚀 Gemini 3 is Now Enabled
Gemini CLI now supports **Gemini 3 Preview** features. When you select **Auto** or **Pro** tiers, the CLI will automatically attempt to use **gemini-3-pro-preview** first, before falling back to **gemini-2.5-pro**.
Learn more at: https://goo.gle/enable-preview-features
---
## 📋 Available Model Tiers
Gemini CLI provides 4 selection tiers that automatically choose the best model:
### 1. Auto (Recommended for Most Tasks)
- **Behavior**: Let the system choose the best model for your task
- **Models**: Automatically selects from all available models
- **Best For**: General use when you want optimal model selection
### 2. Pro (Complex Tasks)
- **Models**: gemini-3-pro-preview → gemini-2.5-pro (fallback)
- **Best For**: Complex tasks that require deep reasoning and creativity
- **Use Cases**: Architecture design, complex debugging, multi-step planning
### 3. Flash (Balanced - Default) ⭐
- **Model**: gemini-2.5-flash
- **Best For**: Tasks that need a balance of speed and reasoning
- **Use Cases**: Code generation, debugging, explanations
- **Token Savings**: Up to 74% in multi-turn conversations
### 4. Flash-Lite (Speed Priority)
- **Model**: gemini-2.5-flash-lite
- **Best For**: Simple tasks that need to be done quickly
- **Use Cases**: Quick answers, simple code snippets, formatting
---
## 🎯 Specific Model Names
If you need to use a specific model, you can specify it directly:
| Model Name | Tier | Capability | Speed | Cost |
|------------|------|------------|-------|------|
| **gemini-3-pro-preview** | Pro | ⭐⭐⭐⭐⭐ | ⭐⭐ | $$$$ |
| **gemini-2.5-pro** | Pro | ⭐⭐⭐⭐⭐ | ⭐⭐ | $$$ |
| **gemini-2.5-flash** | Flash | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | $$ |
| **gemini-2.5-flash-lite** | Flash-Lite | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | $ |
---
## 🔧 How to Specify Models
### In gemini-daily-mcp
**Default Model**: `gemini-2.5-flash` (hardcoded in `src/tools/handlers.ts:58`)
**To use a different model**:
1. Modify `src/tools/handlers.ts` line 58:
```typescript
const selectedModel = model || 'gemini-2.5-flash'; // Change default here
```
2. Rebuild: `npm run build`
3. Restart Claude Code
**At runtime** (via tool parameters):
```typescript
mcp__gemini-daily__gemini({
message: "Your prompt",
model: "gemini-3-pro-preview" // Override default
})
```
### In Gemini CLI
**Use tier names**:
```bash
gemini -m Auto -p "Your prompt"
gemini -m Pro -p "Complex task"
gemini -m Flash -p "Balanced task"
gemini -m Flash-Lite -p "Quick task"
```
**Use specific model names**:
```bash
gemini -m gemini-3-pro-preview -p "Your prompt"
gemini -m gemini-2.5-flash -p "Your prompt"
```
---
## 💡 Model Selection Best Practices
### Use Flash (Default) for:
- ✅ Daily coding tasks
- ✅ Code generation and refactoring
- ✅ Debugging and error analysis
- ✅ Multi-turn conversations (74% token savings)
### Use Pro for:
- ✅ System architecture design
- ✅ Complex algorithm optimization
- ✅ Critical decision making
- ✅ Multi-step planning with dependencies
### Use Flash-Lite for:
- ✅ Quick code formatting
- ✅ Simple explanations
- ✅ Single-line fixes
- ✅ Fast iteration during development
### Use Auto when:
- ✅ You're unsure which model to use
- ✅ Task complexity varies
- ✅ You want optimal cost/performance balance
---
## 🔄 Tier vs Model Name
### Tier Names (Recommended)
- **Pros**: Automatic fallback, future-proof, CLI manages selection
- **Cons**: Less control over exact model used
- **Example**: `"Auto"`, `"Pro"`, `"Flash"`, `"Flash-Lite"`
### Specific Model Names
- **Pros**: Exact model control, predictable behavior
- **Cons**: Manual updates when new models release, no fallback
- **Example**: `"gemini-2.5-flash"`, `"gemini-3-pro-preview"`
**Recommendation**: Use **tier names** in production for auto-fallback. Use **specific names** when testing or comparing models.
---
## 📊 Model Comparison
### Gemini 3 Pro Preview vs Gemini 2.5 Pro
| Feature | Gemini 3 Pro | Gemini 2.5 Pro |
|---------|--------------|----------------|
| Reasoning | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| Code Understanding | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| Multi-step Planning | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| Speed | ⭐⭐ | ⭐⭐⭐ |
| Availability | Preview | Stable |
### Flash vs Flash-Lite
| Feature | Flash | Flash-Lite |
|---------|-------|------------|
| Code Quality | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| Speed | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Context Window | Larger | Smaller |
| Token Savings | 74% | 80% |
| Best For | Daily coding | Quick tasks |
---
## 🚨 Deprecated Models
### ❌ gemini-2.0-flash-exp
- **Status**: Deprecated (404 error)
- **Replacement**: gemini-2.5-flash
- **Action**: Update any hardcoded references
---
## 🔍 Testing Model Availability
```bash
# Test Auto (system chooses)
gemini -m Auto -p "Hello"
# Test Pro (Gemini 3 with fallback)
gemini -m Pro -p "Complex task"
# Test Flash (default)
gemini -m Flash -p "Code task"
# Test specific model
gemini -m gemini-2.5-flash -p "Test"
```
**Expected Output**:
```json
{"type":"init","session_id":"...","model":"gemini-2.5-flash"}
{"type":"message","role":"assistant","content":"..."}
{"type":"result","status":"success"}
```
---
## 📖 References
- **Gemini CLI Docs**: https://goo.gle/enable-preview-features
- **Model Pricing**: Check Google Cloud Vertex AI pricing
- **gemini-daily-mcp Source**: `src/tools/handlers.ts` (line 58)
- **Fix History**:
- `GEMINI-DAILY-MCP-FIX.md` (JSON parsing)
- `GEMINI-DAILY-MODEL-404-FIX.md` (Default model)
---
**Last Updated**: 2025-11-22
**Gemini CLI Version**: v0.17.1+