Claude Platform on AWS in Practice

Checking Claude Platform Availability Before You Launch

Your service's health is partly someone else's health. A startup-time probe, a cheap runtime check, and a plan for "Claude is down" turn a dependency into a managed risk.

Claude 3P 101 · Updated July 2026 · Unofficial guide

When your application depends on Claude Platform on AWS, an outage or a misconfiguration on the path to it looks, to your users, like your outage. The good news is that the failure surface is small and probeable: one regional endpoint, one credential chain, one workspace binding. The pattern below checks all three at startup, keeps a cheap liveness signal at runtime, and defines what "degraded" means before you need it.

Know your failure sources

Three distinct things can make Claude unavailable to you, and they have different owners. First, platform-side incidents — Anthropic operates the model infrastructure, so check Anthropic's status page (linked from the official docs) during an incident, and subscribe your on-call channel to it. Second, your configuration — the most common setup failure is account-level outbound web identity federation not being enabled (every request fails with an explicit "Outbound web identity federation is disabled" message), followed by region mismatches: the SigV4 signing region must match the region in the endpoint URL, and a mismatch produces a generic signature-rejection error rather than a helpful diagnostic. Third, quota exhaustion — rate limits here are managed by Anthropic, not AWS quota systems, and new organizations start on the Start tier and do not move up automatically; sustained 429s near launch usually mean nobody asked Anthropic to raise limits.

Probe the endpoint in your startup sequence

The AnthropicAWS client already fails fast on the cheapest problems: it raises at construction — before any network call — if no region or workspace ID can be resolved. For the rest, make one inexpensive authenticated call during startup. Listing models or counting tokens both work well; token counting exercises the full request path without generating billable output tokens.

from anthropic import AnthropicAWS

def claude_startup_probe() -> bool:
    try:
        client = AnthropicAWS()  # raises if region/workspace unresolved
        client.messages.count_tokens(
            model="claude-haiku-4-5",
            messages=[{"role": "user", "content": "ping"}])
        return True
    except Exception as e:
        log.error("claude probe failed", error=str(e))
        return False

Interpreting failures: a 403 means the request reached the server — suspect a wrong workspace ID or a missing IAM action on the principal (the probe above needs CountTokens; a models-list probe needs ListModels). A signature-rejection error points at region mismatch or bad credentials. A 429 means you are alive but throttled. Log the two request IDs from every response — x-amzn-requestid for AWS support, request-id for Anthropic support — because during an incident those IDs are what turn a ticket around.

Don't block forever on the probe. Fail the deploy if the probe fails at rollout time (that is a config bug you want to catch), but at steady state treat probe failure as "enter degraded mode," not "crash-loop the service." A restarting fleet during a provider incident makes everything worse.

Degrade gracefully, and know your failover options

Decide per feature what happens when Claude is unavailable: queue the work for later (great for summarization and enrichment), fall back to a simpler non-AI path (search instead of answers), or surface an honest "temporarily unavailable" for genuinely interactive features. Wrap calls in timeouts and a circuit breaker — after N consecutive failures, stop calling for a cooldown window and serve the fallback, re-probing in the background.

For workloads that cannot tolerate downtime, Claude Platform on AWS has a structural advantage: it uses a separate capacity pool from both the first-party Claude API and Amazon Bedrock, and Anthropic's docs explicitly note workloads can run on multiple platforms and fail over between them. The same models are available on Bedrock (with anthropic.-prefixed IDs and a different client class), so a cross-platform fallback is a realistic design — just remember quotas, billing, and features differ per platform, so test the fallback path regularly rather than discovering its limits mid-incident.

Where to go next

For decoding specific errors, see the error codes reference; for raising limits before launch, quota management. If you are designing the cross-platform fallback, the Platform-vs-Bedrock decision guide covers what changes between the two.

Sources