Skip to main content
Impala serves /v1/messages alongside its OpenAI-compatible endpoints, so Anthropic-format tooling talks to it directly. That covers the Anthropic SDKs, the Claude Agent SDK, and Claude Code.

What you need

  • BASE_URL — your Impala endpoint
  • API_KEY — your Impala key
  • MODEL — the model your endpoint serves
Either Authorization: Bearer or x-api-key is accepted, so the SDKs work with their own defaults.
The Anthropic SDKs append /v1/messages to whatever base URL you give them. Pass the host root, not a URL that already ends in /v1.

Anthropic SDK

TypeScript is the same shape:
Or directly:

Claude Agent SDK and Claude Code

Both read the standard Anthropic environment variables, so neither needs a code change:
Then run your agent, or launch claude, from that same shell. Set ANTHROPIC_MODEL explicitly. Clients that discover available models at startup expect Anthropic’s own catalog, and naming the model yourself avoids that lookup.

Things to know

Raise your timeouts. A call takes seconds and can take longer under load, and an agent making many sequential turns multiplies that. Raise the timeout in whatever runs your agent and keep turn counts low — see Run async and open source. This path is per-request. That suits an agent loop, where each turn depends on the last. Where the work is a rollout over a fixed input set, that part is cheaper as a batch. Nothing here requires a proxy. If you want one for provider routing, key isolation, or central budget controls, see LiteLLM.

Need help?

Reach out to your Impala contact directly.