Skip to content
Back to Blog
7 min read

Claude 4 Speculation: What to Plan For While Anthropic Is Quiet

As of early January 2025, Anthropic hasn’t announced Claude 4, a release date, or even confirmed the name. That hasn’t stopped the speculation, and the question I keep getting is whether to hold off on Claude work until “the next one” arrives. My answer is no. The more useful question is what the last six months of Anthropic releases tell us about direction, and how to build so that whatever ships next is a config change rather than a rewrite.

This is the companion to my GPT-5 predictions post. I’ll stick to the same rule here: separate what has actually shipped from what I’m guessing, and label the guesses.

What Anthropic actually shipped in the second half of 2024

Speculation is only as good as its baseline, so start with the record. Everything below comes from Anthropic’s API release notes and announcements.

DateReleaseStatus in January 2025
20 June 2024Claude 3.5 SonnetGenerally available
14 Aug 2024Prompt cachingBeta, then GA on 17 Dec
8 Oct 2024Message Batches API (50% cheaper, asynchronous)Beta, then GA on 17 Dec
22 Oct 2024Upgraded Claude 3.5 Sonnet (claude-3-5-sonnet-20241022)Generally available
22 Oct 2024Computer use toolPublic beta, upgraded 3.5 Sonnet only
1 Nov 2024PDF support and token countingBeta, then GA on 17 Dec
4 Nov 2024Claude 3.5 HaikuAvailable, text-only
25 Nov 2024Model Context ProtocolOpen-source specification and SDKs
17 Dec 2024Models API with model aliasesGenerally available

Two things stand out. First, the 3.x family is still the current generation: Claude 3 Opus, Sonnet and Haiku, with Sonnet and Haiku now at 3.5. Every model in it has a 200K-token context window. Second, most of the engineering effort since October has gone into the platform rather than raw model size: tools, batching, caching, document handling, and a protocol for connecting models to data.

The missing Opus

The most telling signal is something that didn’t happen. Anthropic’s models documentation listed Claude 3.5 Opus as coming “later this year” through early October 2024. By the 22 October launch of the upgraded 3.5 Sonnet and computer use, that line was gone, as Simon Willison noted at the time. Anthropic hasn’t explained the docs change, but in November Dario Amodei told Lex Fridman that “as far as we know, the plan is still to have a Claude 3.5 Opus”, without giving a date. So treat the docs change as a delay signal rather than a cancellation.

I don’t read too much into it, but I read something. The upgraded 3.5 Sonnet outperforms Claude 3 Opus on most of Anthropic’s published benchmarks at a fifth of the price, so a 3.5 Opus would have needed a clear reason to exist. My guess, and it is only a guess, is that the next big-model release will carry a new version number rather than fill the 3.5 Opus slot. Whether that is called “Claude 4” is anyone’s guess, and I wouldn’t put the name into any roadmap document.

What I expect next, labelled as speculation

None of the following is announced. These are my reads of the direction, ranked by how confident I am.

Higher confidence: agentic work keeps getting the investment

Computer use, the October Sonnet upgrade’s strong coding results, MCP, and Anthropic’s December essay on building effective agents all point the same way. Anthropic wants Claude to be the model you hand a multi-step task to. I’d expect the next generation to be measured on long-running coding and tool-use tasks at least as much as on chat benchmarks, and I’d expect computer use to move out of beta at some point.

It’s worth reading that agents essay closely, because its core advice cuts against the hype: start with the simplest workflow that works and only add autonomy when you can measure that it helps. That is the right instinct for enterprise teams, too.

Medium confidence: some answer to reasoning models

OpenAI brought o1 to its API in December, and o3 was previewed on 20 December. Google shipped Gemini 2.0 Flash as an experimental release in the same month. Anthropic has no dedicated reasoning model in its line-up today. I’d be surprised if 2025 passes without Anthropic offering some way to trade more inference-time compute for better answers on hard problems. What I can’t predict is the shape: a separate model, a mode on an existing one, or something exposed through the API as a parameter. Don’t design around any particular shape yet.

Lower confidence: a bigger context window

200K tokens has been the standard since Claude 2.1. Competitors advertise more. Anthropic may push this, but its recent work on prompt caching and PDF handling suggests it’s focusing on making the existing window cheaper and more useful rather than just bigger. For most retrieval workloads I see, 200K isn’t the constraint anyway; retrieval quality is.

What I don’t expect

I don’t expect “Constitutional AI” or interpretability to appear as API parameters you configure per request. Constitutional AI is a training method Anthropic described in its research, not a runtime switch. If you read a prediction that shows code with a constitution= or reasoning_trace= argument on messages.create, treat it as fiction. The Messages API you can rely on is the one documented today.

How to stay ready without guessing

The practical work is the same regardless of what Anthropic ships or when.

Keep the model ID out of your code. Put it in configuration, per workload. Anthropic offers aliases like claude-3-5-sonnet-latest alongside pinned snapshots like claude-3-5-sonnet-20241022. My rule of thumb: aliases in development, pinned snapshots in production, so a model change is a deliberate deployment and not a surprise.

Own an evaluation set. When a new model lands, the only question that matters is whether it’s better for your tasks. Vendor benchmarks won’t answer that. Fifty to a few hundred representative prompts with expected outcomes is enough to start.

Use the Batches API to run those evals cheaply. Batches went GA on 17 December and cost half the standard price, which makes running a full eval set against two models an easy habit rather than a project. Here’s a minimal runner using the anthropic Python SDK:

import json
import time

from anthropic import Anthropic

client = Anthropic()  # reads ANTHROPIC_API_KEY from the environment

CANDIDATE_MODELS = ["claude-3-5-sonnet-20241022", "claude-3-5-haiku-20241022"]

# Each line: {"id": "case-001", "prompt": "<your prompt>", "expected": "<expected answer>"}
# Case ids must use only letters, digits, '_' and '-', and the full custom_id
# ("m<index>-<case id>") must stay within the API's 64-character limit.
with open("eval_cases.jsonl", encoding="utf-8") as f:
    cases = [json.loads(line) for line in f if line.strip()]

requests = [
    {
        "custom_id": f"m{mi}-{case['id']}",
        "params": {
            "model": model,
            "max_tokens": 1024,
            "messages": [{"role": "user", "content": case["prompt"]}],
        },
    }
    for mi, model in enumerate(CANDIDATE_MODELS)
    for case in cases
]

batch = client.messages.batches.create(requests=requests)

while True:
    batch = client.messages.batches.retrieve(batch.id)
    if batch.processing_status == "ended":
        break
    time.sleep(60)

with open("eval_results.jsonl", "w", encoding="utf-8") as out:
    for entry in client.messages.batches.results(batch.id):
        model_part, case_id = entry.custom_id.split("-", 1)
        model = CANDIDATE_MODELS[int(model_part[1:])]
        if entry.result.type == "succeeded":
            text = "".join(
                block.text
                for block in entry.result.message.content
                if block.type == "text"
            )
        else:
            text = None
        out.write(json.dumps({"model": model, "case": case_id, "output": text}) + "\n")

Scoring is deliberately left out, because it depends on your task: exact match, a rubric, or a second model acting as judge. When a new model appears, you add its ID to CANDIDATE_MODELS and rerun. Batches can take up to 24 hours to complete, so this is for evaluation and offline work, not anything user-facing.

Once you have scores, decide on the gap, not the headline. My rule of thumb: a few points on a few hundred cases is noise, so I want a consistent gap of ten percentage points or more on the cases that matter before I switch a production workload. And put price in the same table as quality. Claude 3.5 Haiku costs $0.80/$4 per million input/output tokens against $0.25/$1.25 for Claude 3 Haiku (see pricing), so “move to the newer small model” is a cost decision as well as a quality one.

Keep tool definitions and MCP servers model-agnostic. If your agent’s capabilities live in well-described tools rather than in prompt tricks tuned to one model’s quirks, a model upgrade tends to be an improvement instead of a regression hunt.

Check where you can actually run it. For Azure-centred organisations this matters: Claude is available through Anthropic’s API, Amazon Bedrock, and Google Cloud Vertex AI, but not through Azure OpenAI Service. A new Claude generation doesn’t change your data residency, networking, or procurement story. Factor that in before you promise a business unit “we’ll switch to Claude 4 when it’s out”.

When not to wait at all

If you have a workload that the current models handle well, ship it on the current models. Claude 3.5 Sonnet is a strong coding and document-analysis model today, and 3.5 Haiku covers the cheaper, high-volume tier, though at roughly three times the price of Claude 3 Haiku, which is still available if your eval says it is good enough. Waiting for an unannounced model is how projects lose a quarter for nothing.

The case for waiting is narrow: a task where every current model you’ve evaluated fails your own eval set by a wide margin, and where the failure is the kind more capability might fix (multi-step reasoning, long agentic sequences) rather than the kind it won’t (bad retrieval, unclear requirements, missing data).

The takeaway

Plan for direction, not for a product name. Anthropic’s recent releases point towards agents, tool use, and cheaper ways to run large workloads, and a reasoning-style answer to o1 seems likely at some point in 2025. Whatever arrives, the teams that benefit first will be the ones with model IDs in config, an eval set they trust, and a cheap way to run it. That work pays off with or without a Claude 4.

Michael John Peña

Michael John Peña

Data & AI Director and Microsoft MVP based in Sydney. Writing about Microsoft Fabric, Azure, data engineering, and AI.