n4nAI

Claude's model generations: Claude 1 to 4.5

A practical guide to Anthropic's Claude model generations, covering capabilities, tradeoffs, and migration paths from Claude 1 through 4.5 for engineers building production systems.

n4n Team7 min read1,459 words

Audio narration

Coming soon — every post will get a voice note here.

The Claude model generations history spans five major releases since Anthropic’s 2023 debut, each introducing meaningful shifts in reasoning, context handling, and cost-performance tradeoffs. Engineers integrating LLMs into production pipelines need to understand not just version numbers but the architectural decisions that make each generation suitable for different workloads. This guide walks through the lineage, highlights where each model excels, and gives you a decision framework for model selection and migration.

The lineage at a glance

Anthropic’s naming convention follows a simple pattern: major versions (1, 2, 3, 3.5, 4) signal architectural shifts, while point releases and suffixes (Opus, Sonnet, Haiku) denote capability tiers within a generation. The three-tier structure has remained consistent since Claude 3:

Tier Positioning Typical use case
Opus Flagship, maximum capability Complex reasoning, coding agents, long-horizon tasks
Sonnet Balanced price/performance General production workloads, RAG, classification
Haiku Speed and cost optimized High-volume extraction, routing, real-time features

Claude 1 and 2 used a single-model-per-generation approach. The three-tier split arrived with Claude 3 in March 2024 and has persisted through 3.5, 4, and 4.5.

Claude 1 and 2: the foundation (2023)

Claude 1 (March 2023) and Claude 2 (July 2023) established Anthropic’s constitutional AI approach but lack the tool-use, vision, and extended-context capabilities that define modern workflows. Both models support 100k context windows — impressive for 2023 but constrained by today’s standards.

Key limitations for current builds:

  • No native function calling or tool use
  • No vision/multimodal input
  • Knowledge cutoff early 2023 (Claude 1) / early 2023 (Claude 2)
  • Single model per generation — no tiered pricing

Migration note: If you’re still routing traffic to claude-2.0 or claude-2.1, plan deprecation. Anthropic has signaled end-of-life for pre-3 models. The jump to Sonnet 3.5 or Haiku 3.5 typically reduces latency by 40-60% at lower cost for equivalent tasks.

Claude 3: the three-tier launch (March 2024)

Claude 3 introduced the Opus/Sonnet/Haiku split, 200k context windows across all tiers, vision support, and native tool use. This is the first generation viable for modern agentic workflows.

Opus 3

The original flagship. Strong on complex reasoning and creative tasks, but slower and expensive ($15/$75 per million input/output tokens). Most teams have migrated to Sonnet 3.5 or Opus 4 for better price/performance.

Sonnet 3

The workhorse of the 3 generation. At $3/$15 per million tokens, it handles most production classification, summarization, and RAG tasks competently. Still available and supported, but Sonnet 3.5 obsoletes it for new projects.

Haiku 3

The speed tier: ~1.2s median first-token latency, $0.25/$1.25 per million tokens. Excellent for high-volume extraction, intent classification, and routing. No vision support in the original Haiku 3 — that arrived in 3.5.

Code example: model selection by task type

# Practical routing logic for a multi-model gateway
MODEL_ROUTING = {
    "complex_reasoning": "claude-3-5-sonnet-20241022",  # or opus-4 for max capability
    "code_generation": "claude-3-5-sonnet-20241022",
    "rag_qa": "claude-3-5-sonnet-20241022",
    "classification": "claude-3-5-haiku-20241022",
    "extraction": "claude-3-5-haiku-20241022",
    "routing_intent": "claude-3-5-haiku-20241022",
    "vision_ocr": "claude-3-5-sonnet-20241022",  # haiku 3.5 also supports vision
    "long_context_analysis": "claude-3-5-sonnet-20241022",  # 200k context
}

def select_model(task_type: str, context_tokens: int) -> str:
    model = MODEL_ROUTING.get(task_type, "claude-3-5-sonnet-20241022")
    # Upgrade to Opus 4 for very long context + complex reasoning
    if context_tokens > 150_000 and task_type in ("complex_reasoning", "code_generation"):
        return "claude-opus-4-20250514"
    return model

Claude 3.5: the Sonnet leap (June/October 2024)

Claude 3.5 Sonnet (released June 2024, updated October 2024) is the most consequential release in the Claude model generations history for production engineers. It matches or exceeds Opus 3 on most benchmarks at Sonnet pricing ($3/$15). The October refresh (claude-3-5-sonnet-20241022) improved coding and agentic tool use significantly.

Haiku 3.5 (October 2024)

Added vision support to the speed tier and improved reasoning. At $0.80/$4 per million tokens, it’s pricier than Haiku 3 but enables multimodal extraction pipelines without routing to Sonnet.

When to use 3.5 Sonnet vs 3.5 Haiku:

Workload Recommended Rationale
Code generation, refactoring Sonnet 3.5 Superior tool use, debugging, multi-file context
RAG with 50k+ context Sonnet 3.5 Better long-context retrieval and synthesis
High-volume classification Haiku 3.5 3-4x throughput, adequate accuracy
Document extraction (PDFs, images) Haiku 3.5 Vision + speed, lower cost
Agentic workflows (multi-step tools) Sonnet 3.5 More reliable tool calling, better error recovery

Pitfall: The October 2024 Sonnet 3.5 (claude-3-5-sonnet-20241022) is a distinct model ID from the June release (claude-3-5-sonnet-20240620). Pin the version explicitly in production. Anthropic does not auto-upgrade model aliases.

Claude 4: Opus and Sonnet 4 (May 2025)

Claude 4 introduced two models: Opus 4 (flagship) and Sonnet 4 (balanced). Both support 200k context, vision, and native tool use. The architectural shift centers on extended thinking — a reasoning mode that emits hidden chain-of-thought tokens before the final answer.

Extended thinking: how it works

When you enable thinking: { type: "enabled", budget_tokens: N }, the model consumes part of your output token budget for internal reasoning. The thinking tokens are billed at output rates but not returned in the response (unless you request them via thinking: { type: "enabled", budget_tokens: N, include_thoughts: true }).

{
  "model": "claude-opus-4-20250514",
  "max_tokens": 8000,
  "thinking": {
    "type": "enabled",
    "budget_tokens": 4000
  },
  "messages": [
    {"role": "user", "content": "Refactor this legacy authentication module..."}
  ]
}

Tradeoffs:

  • Latency increases roughly linearly with thinking budget (expect 2-5x for 4k-8k thinking tokens)
  • Cost increases — you pay for thinking tokens as output
  • Quality gains are real for multi-step reasoning, math, and complex coding but marginal for classification/extraction
  • Not available on Haiku tiers

Opus 4 vs Sonnet 4

Dimension Opus 4 Sonnet 4
Pricing (in/out) $15/$75 $3/$15
Extended thinking Yes (up to 32k budget) Yes (up to 16k budget)
Coding (SWE-bench) ~72% ~65%
Latency (no thinking) ~2.5s first token ~1.8s first token
Best for Research agents, novel architecture design, hard debugging Production coding agents, complex RAG, cost-sensitive reasoning

Common pitfall: Teams enable extended thinking by default. For 80% of production workloads (classification, extraction, summarization, standard RAG), it adds latency and cost without measurable quality improvement. Gate thinking behind a feature flag and A/B test.

Claude 4.5: Sonnet 4.5 (October 2025)

Claude 4.5 Sonnet (claude-3-5-sonnet-20251022 — note the versioning anomaly) is a mid-cycle refresh focused on coding and agentic reliability. Key changes:

  • Improved tool-calling accuracy, especially parallel tool execution
  • Better adherence to structured output schemas (JSON mode)
  • Reduced hallucination rate on long-context retrieval tasks
  • Same pricing as Sonnet 4 ($3/$15)

No Opus 4.5 or Haiku 4.5 exist as of writing. Anthropic’s cadence suggests Haiku 4.5 may arrive Q1 2026.

Migration from Sonnet 4 to 4.5: Drop-in replacement for most workloads. Test structured output and parallel tool calls specifically — those saw the largest behavior shifts.

Decision framework: picking the right generation

Use this flowchart logic in your model router or gateway configuration:

START
├─ Need vision? → Sonnet 3.5 / 4 / 4.5 / Haiku 3.5
├─ Need extended thinking (multi-step reasoning)?
│   ├─ Budget allows Opus pricing? → Opus 4
│   └─ Need Sonnet pricing? → Sonnet 4 / 4.5 with thinking enabled
├─ High volume (>1M req/day), simple tasks (classify, extract, route)?
│   └─ → Haiku 3.5 (or Haiku 3 if vision not needed)
├─ Code generation / agentic workflows?
│   ├─ Max quality, cost secondary? → Opus 4
│   └─ Balanced? → Sonnet 4.5
├─ Long context (>100k) + synthesis?
│   └─ → Sonnet 4.5 (or Opus 4 if reasoning-heavy)
└─ Default / unsure? → Sonnet 4.5

Cost guardrail example:

# Enforce per-request cost ceilings in your gateway
MAX_COST_PER_REQUEST = {
    "claude-opus-4-20250514": 0.50,      # $0.50 ceiling
    "claude-sonnet-4-20250514": 0.10,
    "claude-3-5-sonnet-20251022": 0.10,
    "claude-3-5-haiku-20241022": 0.02,
}

def estimate_cost(model: str, input_tokens: int, output_tokens: int, thinking_tokens: int = 0) -> float:
    pricing = {
        "claude-opus-4-20250514": (15, 75),
        "claude-sonnet-4-20250514": (3, 15),
        "claude-3-5-sonnet-20251022": (3, 15),
        "claude-3-5-haiku-20241022": (0.80, 4),
    }
    in_price, out_price = pricing[model]
    total_out = output_tokens + thinking_tokens
    return (input_tokens * in_price + total_out * out_price) / 1_000_000

def enforce_budget(model: str, input_tokens: int, max_output: int, thinking_budget: int = 0) -> int:
    """Return adjusted max_output that respects cost ceiling."""
    ceiling = MAX_COST_PER_REQUEST[model]
    in_price, out_price = {
        "claude-opus-4-20250514": (15, 75),
        "claude-sonnet-4-20250514": (3, 15),
        "claude-3-5-sonnet-20251022": (3, 15),
        "claude-3-5-haiku-20241022": (0.80, 4),
    }[model]
    input_cost = input_tokens * in_price / 1_000_000
    remaining = ceiling - input_cost
    if remaining <= 0:
        raise ValueError("Input tokens alone exceed budget")
    max_affordable_output = int(remaining * 1_000_000 / out_price)
    return min(max_output, max_affordable_output - thinking_budget)

Version pinning and deprecation hygiene

Anthropic does not guarantee model alias stability. Always pin exact model IDs in production:

# Good: explicit version
model: "claude-3-5-sonnet-20241022"

# Bad: alias that may shift
model: "claude-3-5-sonnet-latest"
model: "claude-sonnet-4"

Track deprecation notices via Anthropic’s developer changelog. As of October 2025:

  • Claude 1, 2, 2.1: Deprecated, migration required
  • Claude 3 Opus/Sonnet/Haiku: Supported, no new features
  • Claude 3.5 Sonnet (June 2024): Supported, use October 2024 version for new work
  • Claude 3.5 Haiku: Supported
  • Claude 4 Opus/Sonnet: Current flagship/balanced
  • Claude 4.5 Sonnet: Current recommended default for most workloads

Common migration gotchas

1. System prompt sensitivity Sonnet 4/4.5 and Opus 4 follow system instructions more literally than 3.5. Prompts that worked on 3.5 may over-constrain 4.x. Test with your actual system prompts before cutover.

2. Tool call format changes Claude 4 models emit tool calls with slightly different JSON structure in edge cases (nested objects, optional fields). Validate your tool schema parsing against 4.x responses.

3. Thinking token budgeting If you enable extended thinking, max_tokens must exceed thinking.budget_tokens. The thinking budget counts against max_tokens. A request with max_tokens: 4000, thinking: { budget_tokens: 4000 } will return empty output.

4. Haiku vision limitations Haiku 3.5 supports vision but at lower resolution processing than Sonnet. For OCR-heavy workloads, benchmark accuracy — you may need Sonnet despite the cost.

Operational recommendations

  1. Route by task, not by default. A classification endpoint should hit Haiku 3.5. A coding agent hits Sonnet 4.5 or Opus 4. Hardcoding one model for all paths wastes 60-80% of spend.

  2. Implement fallback chains. Provider degradation happens. A typical chain: Sonnet 4.5 → Sonnet 3.5 (Oct) → Haiku 3.5 → Opus 4 (last resort for quality). n4n.ai handles this automatically with per-token metering and cache-control forwarding, but the principle applies to any gateway.

  3. Log model version per request. Include model_id in your observability spans. Debugging quality regressions is impossible without it.

  4. Budget thinking tokens separately. Track thinking token spend as a distinct metric. It scales differently than output tokens and catches runaway reasoning loops.

  5. Test structured output on every upgrade. JSON mode adherence improved in 4.5 but schema validation failures still occur. Run your schema test suite against new model versions before promoting.

Summary: which generation for which job

Generation Models Status Best fit
1 / 2 Single Deprecated Migrate off immediately
3 Opus, Sonnet, Haiku Maintenance Legacy systems only
3.5 Sonnet (Jun/Oct), Haiku Production standard Most workloads; Oct Sonnet 3.5 for coding/agents
4 Opus, Sonnet Current flagship Extended thinking, hardest reasoning
4.5 Sonnet Recommended default Coding, agents, structured output, general purpose

The Claude model generations history shows a clear trajectory: tiered capability splits, expanding context and modality support, and the recent addition of controllable reasoning via extended thinking. For engineers building today, Sonnet 4.5 is the default choice, Haiku 3.5 handles volume, and Opus 4 exists for the 5% of tasks where reasoning depth justifies 5-10x cost. Pin versions, route by task, and measure thinking token spend separately.

Tagsclaudeanthropicmodel-naminghistory

Written by

n4n Team

The team building n4n — a single OpenAI-compatible API in front of 240+ models, with automatic fallback, load balancing and pay-per-token metering.

More from n4n Team →

All model families & naming conventions: gpt-5, claude, gemini 3, llama 4, mistral, deepseek, qwen, grok posts →