Migrate from Anthropic
Use our /anthropic endpoint to keep your existing Claude SDK code working unchanged. Same request shape, same response shape, plus guardrails + observability.
Before vs after
Python — before & after
TypeScript — before & after
Claude Code (env vars only)
Which base URL?
What stays the same
- Every Anthropic SDK method works unchanged.
- Streaming via
stream=True— identical SSE event sequence (message_start,content_block_delta, etc.). - Tool calling — identical Anthropic
tool_useblocks. - Vision (image inputs) — identical content-block array format.
cache_controlmarkers — passed through transparently, the upstream still respects them.- Async clients (
AsyncAnthropic) — fully supported. - Error handling — same exception classes.
What you gain automatically
Same gains as the OpenAI migration — guardrails on every request, observability, cost capture, regional residency disclosure, multi-provider failover.
No code changes — just env vars
Claude Code, Agent TARS, and other tools that use Anthropic's SDK read ANTHROPIC_BASE_URL from the environment. Two env vars and your existing CLI runs through Anoman:
Full Claude Code integration walkthrough at /docs/agents/claude-code.
Beyond Claude
The /anthropic endpoint accepts model slugs from non-Anthropic providers too — we translate the request shape automatically. So model: gpt-4o or model: deepseek-v3 work on this endpoint as well. Useful when you want to A/B test alternatives without changing your Anthropic-SDK call site.
Try it — free API key + zero code change.
Two env vars. Five-minute integration.