OpenAI now splits rate-limit errors: 429 'slow_down' vs 503 overload
Now the code says whether you're ramping too fast or the model's saturated, both with a Retry-After. Plus: script coding agents from the Vercel AI SDK.

Copy markdown
429 means you, 503 means them
OpenAI's API now returns a `429` with the `slow_down` code when your traffic is ramping too fast, and a `503` with `server_is_overloaded` when the model itself is saturated. Branch your retry logic on the code: wait at least the `Retry-After` header when it's present, exponential backoff when it isn't. A blind "retry on any error" loop now punishes you in the one case — `slow_down` — where you should be easing off concurrency instead.
Elsewhere: drive Claude Code and Codex from the AI SDK
Vercel's AI SDK harness layer lets you program agent harnesses — Claude Code, Codex, Cursor, Cline, Deep Agents and Vercel's open-source `fx` — from TypeScript through one `HarnessAgent` API, plus a `@ai-sdk/harness-acp` meta-adapter for any ACP-compatible agent. If you've wanted to orchestrate a coding agent from your own app instead of a terminal, that's a weekend build now.