← Back to all entries
2026-09-27 🧭 Daily News

Claude Pushes Riemann Zeta Bound to 67.2%, Code v2.1.283 Locks Model Versions, API Gains thinking_mismatch_allowed

Claude Pushes Riemann Zeta Bound to 67.2%, Code v2.1.283 Locks Model Versions, API Gains thinking_mismatch_allowed — visual for 2026-09-27

🧭 Claude Advances Riemann Zeta Zero Lower Bound from 41.6% to 67.2%

An unreleased research version of Claude has improved the lower bound for the proportion of Riemann zeta zeros lying on the critical line — the core assertion of the Riemann Hypothesis — from 41.6% to 67.2%. The result was validated by external mathematicians Brian Conrey and Dan Goldston and constitutes a formally verifiable proof. Claude deployed roughly 60 subagents issuing approximately 2,400 shell commands across a 1.5-day compute run. Anthropic is explicit that the result does not resolve the full Riemann Hypothesis, but it is a substantial improvement on a bound that has stood for decades and represents a meaningful advance for AI-assisted pure mathematics.

What the bound means

The Riemann Hypothesis (RH) states that every non-trivial zero of the zeta function ζ(s) has real part ½ — i.e., lies on the "critical line." Because proving this for all zeros remains out of reach, mathematicians track what fraction of zeros can be proven to lie on the line. Hardy and Littlewood showed in 1921 that infinitely many do; Conrey pushed the density lower bound to 41.6% in 1989. Claude's result extends that to 67.2%, meaning over two thirds of all zeros are now provably critical-line zeros — a number that had not moved in 37 years.

How Claude approached it

Three AI science results in one week

This is the third genuinely novel scientific result attributed to Claude within a single week: the ART enzyme discovery (September 24), the nine-loop N=4 SYM amplitude (September 26), and now an advance on the Riemann Hypothesis lower bound (September 27). All three share a structural feature: Claude was not given a step-by-step algorithm, only an objective and compute resources, and it independently chose its methods. For practitioners the actionable question remains the same — what computationally hard open problems in your field are stalled because execution cost or coordination complexity was prohibitive, not because the method is unknown?

⭐⭐⭐ anthropic.com
Riemann Hypothesis Riemann zeta function lower bound critical line pure mathematics multi-agent formal proof Brian Conrey AI-assisted science

🧭 Claude Code v2.1.283: Exact Model Version Locking and LLM Proxy Gateway Headers

Claude Code v2.1.283 (released September 25) introduces two significant enterprise controls. The first is availableModelsMatch='exact' — a new option in managed settings that locks an availableModels entry to a precise named model version, blocking automatic adoption of newly released models until an admin explicitly adds them. The second is an opt-in x-claude-code-prompt-id gateway hint header that lets LLM proxy operators group all API requests serving a single user prompt into a traceable unit, enabling per-prompt cost attribution and request-level debugging at the proxy layer.

exact model locking in practice

Previously, availableModels entries matched model families (e.g. all claude-opus-5-x releases). With exact, an org pinned to claude-opus-5-5-20260820 will not silently gain access to claude-opus-5-6-20261014 when it ships — they stay on the locked version until an admin updates the policy. This is particularly useful for teams with formal change-management requirements, where an unplanned model upgrade would require re-validation before production use.

// .claude/settings.json — enterprise managed settings
{
  "availableModels": [
    {
      "pattern": "claude-opus-5-5-20260820",
      "availableModelsMatch": "exact"
    }
  ],
  "deniedModels": ["claude-haiku-4-5-20251001"]
}

x-claude-code-prompt-id header

When Claude Code sends a user-initiated prompt to the API, it now optionally emits an x-claude-code-prompt-id request header. Intermediate LLM proxies that see this header can correlate all API calls (including tool-use sub-calls, auto-compaction retries, and thinking-block round-trips) back to the originating prompt. The header is opt-in and not sent by default; it is enabled in settings.json under enableGatewayHintHeader: true.

Why this matters for self-hosted proxy deployments

Enterprises running an internal LLM gateway (LiteLLM, HelixML, a custom proxy) have historically struggled to attribute multi-call conversations to individual user prompts. With the hint header, the proxy can reconstruct the full prompt-level call tree without needing Claude Code to emit verbose tracing logs. Combine this with exact model pinning and the deniedModels blocklist to build a robust governance layer without touching the Claude Code binary.

Claude Code v2.1.283 model version locking availableModelsMatch deniedModels LLM proxy gateway headers enterprise controls change management

🧭 Messages API Adds thinking_mismatch_allowed — Guard Agentic Pipelines That Cache and Replay Thinking Blocks

A late-September platform release adds thinking_mismatch_allowed to the preserved thinking controls in the Messages API. The parameter addresses a failure mode in agentic pipelines that cache intermediate thinking blocks and replay them in subsequent turns: if a cached thinking block has been altered — by summarisation, token trimming, or a routing layer that modifies context — the API can now detect the mismatch and either raise an error or silently continue, depending on how the developer configures the flag.

Background: preserved thinking and context caching

Extended thinking in Claude generates thinking content blocks that are marked as "preserved" — they should be passed back in conversation history verbatim. The model relies on these blocks during subsequent turns; if they are modified, reasoning quality can degrade silently. Before this release, the only safeguard was a client-side responsibility to pass thinking blocks through unchanged. There was no server-side signal if a proxy, summariser, or context-management library had altered them.

How thinking_mismatch_allowed works

// Messages API — enable detection without hard failure
{
  "model": "claude-opus-5-5-20260820",
  "thinking": { "type": "enabled", "budget_tokens": 8000 },
  "thinking_mismatch_allowed": true,
  "messages": [...]
}
Migration note for existing agentic pipelines

The default changed from silently accept to thinking_mismatch_allowed: false (hard error). If you have a pipeline that compacts, summarises, or otherwise modifies conversation history before replay, enable thinking_mismatch_allowed: true first, monitor for thinking_mismatch_detected in production, then fix the root cause. Jumping straight to the default-off behaviour may surface 400 errors in pipelines you did not know were touching thinking blocks.

Messages API thinking_mismatch_allowed extended thinking preserved thinking agentic pipelines context caching pipeline integrity 400 error developer platform
Source trust ratings ⭐⭐⭐ Official Anthropic  ·  ⭐⭐ Established press  ·  ⭐ Community / research