Skip to main content

vtcode_config/constants/models/
anthropic.rs

1// Standard model for straightforward tools - Sonnet 4.5 preferred for most use cases
2pub const DEFAULT_MODEL: &str = "claude-sonnet-4-5";
3pub const SUPPORTED_MODELS: &[&str] = &[
4    // Claude 4.5 series
5    "claude-sonnet-4-5-20250929", // Latest flagship model for complex agents and coding
6    "claude-haiku-4-5-20251001",  // Fastest model with near-frontier intelligence
7    "claude-opus-4-5-20251101",   // Premium flagship model with exceptional intelligence
8    "claude-opus-4-1-20250805",   // Specialized reasoning model
9    "claude-sonnet-4-5",          // Alias for latest Claude Sonnet 4.5
10    "claude-haiku-4-5",           // Alias for latest Claude Haiku 4.5
11    "claude-opus-4-5",            // Alias for latest Claude Opus 4.5
12    "claude-opus-4-6",            // Alias for Claude Opus 4.6
13    "claude-opus-4-1",            // Alias for latest Claude Opus 4.1
14    // Claude 4 series
15    "claude-sonnet-4-20250514", // Claude 4 Sonnet
16    "claude-opus-4-20250514",   // Claude 4 Opus
17    "claude-sonnet-4-0",        // Alias for Claude 4 Sonnet
18    "claude-opus-4-0",          // Alias for Claude 4 Opus
19    // Claude 3.x series
20    "claude-3-7-sonnet-20250219", // Latest Claude 3.7 Sonnet
21    "claude-3-7-sonnet-latest",   // Alias for Claude 3.7 Sonnet
22    "claude-haiku-4-5",           // Latest Claude 3.5 Sonnet
23    "claude-haiku-4-5",           // Alias for Claude 3.5 Sonnet
24    "claude-3-5-haiku-20241022",  // Latest Claude 3.5 Haiku
25    "claude-3-5-haiku-latest",    // Alias for latest Claude 3.5 Haiku
26    "claude-3-opus-20240229",     // Legacy Claude 3 Opus
27    "claude-haiku-4-5-20240229",  // Legacy Claude 3 Sonnet
28    "claude-3-haiku-20240307",    // Legacy Claude 3 Haiku
29];
30
31// Convenience constants for versioned models
32pub const CLAUDE_SONNET_4_5_20250929: &str = "claude-sonnet-4-5-20250929";
33pub const CLAUDE_HAIKU_4_5_20251001: &str = "claude-haiku-4-5-20251001";
34pub const CLAUDE_OPUS_4_5_20251101: &str = "claude-opus-4-5-20251101";
35pub const CLAUDE_OPUS_4_1_20250805: &str = "claude-opus-4-1-20250805";
36pub const CLAUDE_SONNET_4_20250514: &str = "claude-sonnet-4-20250514";
37pub const CLAUDE_OPUS_4_20250514: &str = "claude-opus-4-20250514";
38pub const CLAUDE_3_7_SONNET_20250219: &str = "claude-3-7-sonnet-20250219";
39pub const CLAUDE_3_5_SONNET_20241022: &str = "claude-haiku-4-5";
40pub const CLAUDE_3_5_HAIKU_20241022: &str = "claude-3-5-haiku-20241022";
41
42// Convenience constants for alias models
43pub const CLAUDE_HAIKU_4_5: &str = "claude-haiku-4-5";
44pub const CLAUDE_SONNET_4_5: &str = "claude-sonnet-4-5";
45pub const CLAUDE_OPUS_4_5: &str = "claude-opus-4-5";
46pub const CLAUDE_OPUS_4_6: &str = "claude-opus-4-6";
47pub const CLAUDE_OPUS_4_1: &str = "claude-opus-4-1";
48pub const CLAUDE_SONNET_4_0: &str = "claude-sonnet-4-0";
49pub const CLAUDE_OPUS_4_0: &str = "claude-opus-4-0";
50pub const CLAUDE_3_7_SONNET_LATEST: &str = "claude-3-7-sonnet-latest";
51pub const CLAUDE_3_5_SONNET_LATEST: &str = "claude-haiku-4-5";
52pub const CLAUDE_3_5_HAIKU_LATEST: &str = "claude-3-5-haiku-latest";
53
54// Legacy aliases for backwards compatibility
55pub const CLAUDE_OPUS_4_1_20250805_LEGACY: &str = "claude-opus-4-1-20250805";
56
57/// Models that accept the reasoning effort parameter or extended thinking
58pub const REASONING_MODELS: &[&str] = &[
59    CLAUDE_SONNET_4_5_20250929,
60    CLAUDE_HAIKU_4_5_20251001,
61    CLAUDE_OPUS_4_5_20251101,
62    CLAUDE_OPUS_4_6,
63    CLAUDE_OPUS_4_1_20250805,
64    CLAUDE_SONNET_4_5,
65    CLAUDE_HAIKU_4_5,
66    CLAUDE_OPUS_4_5,
67    CLAUDE_OPUS_4_6,
68    CLAUDE_OPUS_4_1,
69    "claude-sonnet-4-20250514",
70    "claude-opus-4-20250514",
71    "claude-sonnet-4-0",
72    "claude-opus-4-0",
73    "claude-3-7-sonnet-20250219",
74    "claude-3-7-sonnet-latest",
75];
76
77/// Interleaved thinking configuration for Anthropic models
78pub const INTERLEAVED_THINKING_BETA: &str = "interleaved-thinking-2025-05-14";
79pub const INTERLEAVED_THINKING_TYPE_ENABLED: &str = "enabled";