Prewire · case file · public copy of the record
FILE P308 PREWIRE receipts archive the live wire
CATCH #2508 DETECTED NOV 5, 2026 19:10 UTC
THE CATCHscore 10/10
EXHIBIT 2508 · FLASH
Nov 5, 2026 19:10 UTC pypi anthropic
Anthropic 2.6.0 introduces new model IDs 'claude-opus-4-8' and 'claude-haiku-5-5', alongside new beta features for messages, environments, and an admin sign-out endpoint.

READY TO POST:

anthropic's latest pypi package, 2.6.0, just dropped with what looks like new model ids: 'claude-opus-4-8' and 'claude-haiku-5-5'. 👀

peeking into anthropic 2.6.0 and seeing a new beta fallback middleware for messages and some environment worker stuff. also an admin user sign out endpoint!

EVIDENCE — the receipts
anthropic 2.5.0 -> 2.6.0: +236 strings, -869 strings, 89 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] (4)
  + py
    client = Anthropic(middleware=[BetaRefusalFallbackMiddleware([{"model": "claude-opus-4-8"}])])

    state = BetaFallbackState()
    with state:
        message = client.beta.messages.create(**params)
  + anthropic-beta: admin-user-sign-out-2026-10-08
  + py
    with client.beta.messages.stream(...) as stream:
        for chunk in stream:
            ...
  + py
client.beta.environments.work.worker(environment_id=..., environment_key=...)

[endpoint] (1)
  + /v1/organizations/users/{user_id}/sign_out

[sentence] (87)
  + 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

caught by the 20-minute sweep · the live wire · all receipts

THE WIRE RECEIPTS ACCESS @VEDOLOS TERMS PRIVACY break the story before it breaks