CATCH #2479
DETECTED NOV 4, 2026 21:11 UTC
THE CATCHscore 10/10
EXHIBIT 2479 · FLASH
Nov 4, 2026 21:11 UTC
pypi
anthropic
Anthropic's latest SDK (2.5.0) reveals references to new model IDs, "claude-opus-4-8" and "claude-haiku-5-5", along with new beta features for messages, environments, and refusal fallback middleware.
READY TO POST:
anthropic's new 2.5.0 sdk just dropped and i'm seeing `claude-opus-4-8` and `claude-haiku-5-5` mentioned. new models on the horizon?
looks like anthropic is rolling out some beta features in their latest sdk, including 'betarefusalfalbackmiddleware' and enhanced message/environment management. interesting stuff!
EVIDENCE — the receipts
anthropic 2.4.0 -> 2.5.0: +458 strings, -858 strings, 116 interesting
[model_id] (2)
+ py
client = Anthropic(middleware=[BetaRefusalFallbackMiddleware([{"model": "claude-opus-4-8"}])])
state = BetaFallbackState()
with state:
message = client.beta.messages.create(**params)
+ python
with client.messages.stream(
model="claude-haiku-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello!"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
[feature_flag] (5)
+ py
client = Anthropic(middleware=[BetaRefusalFallbackMiddleware([{"model": "claude-opus-4-8"}])])
state = BetaFallbackState()
with state:
message = client.beta.messages.create(**params)
+ claude_tag_writes_not_enabled
+ py
with client.beta.messages.stream(...) as stream:
for chunk in stream:
...
+ py
client.beta.environments.work.worker(environment_id=..., environment_key=...)
+ spend_limits_admin_api_writes_not_enabled
[sentence] (114)
+ py
client = Anthropic(middleware=[BetaRefusalFallbackMiddleware([{"model": "claude-opus-4-8"}])])
state = BetaFallbackState()
with state:
message = client.beta.messages.create(**params)
+ python
with client.messages.stream(
model="claude-haiku-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello!"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
+ py
with client.beta.messages.stream(...) as stream:
for chunk in stream:
...
+ py
client.beta.environments.work.worker(environment_id=..., environment_key=...)
+ ) whose option is unset has the client's own, so it reads none of them either.
"""
class RequestOptions(TypedDict, total=False):
headers: Headers
max_retries: int
timeout: float | Timeout | None
params: Query
extra_json: AnyMapping
idempotency_key: str
"""Deprecated: th
+ , read
caught by the 20-minute sweep ·
the live wire · all receipts