Before going live with a Claude-powered app, verify every item below.
RateLimitError (429) → backoff and retryOverloadedError (529) → fallback model or queueAuthenticationError (401) → alert team, don't retryInvalidRequestError (400) → log and fix, don't retryclient.messages.stream() for user-facing responsesstop_reason checked: end_turn vs max_tokens (incomplete)max_tokens set to realistic values (not 4096 for short answers)maxRetries set (default 2 is fine for most)timeout option)Promise.all)Each section above is a verifiable checklist. Work through Authentication & Security, Error Handling, Streaming, Cost Controls, Monitoring, Reliability, Content & Compliance, and Performance sections.
See clade-observability for monitoring setup.
Each section contains production-ready code examples. Copy and adapt them to your use case.
Integrate the patterns that match your requirements. Test each change individually.
Run your test suite to confirm the integration works correctly.