Anthropic adapter status: not available
Keeptrusts recognizes Anthropic targets, translates OpenAI-compatible messages, and prepares Anthropic authentication. The current runtime does not yet produce a request body that matches Anthropic's documented native Messages contract, so this page does not present a live gateway command.
:::danger Do not adopt this integration
This is an implementation-status record, not a customer integration guide. Configuration linting proves only that the YAML is structurally valid. It does not make the adapter usable. Choose a currently supported provider for live traffic.
:::
Use this status record when
- You are reviewing the Anthropic adapter before rollout.
- You want a lintable provider declaration ready for the runtime fix.
- You need the exact boundary between implemented setup and unverified live behavior.
Lint the provider declaration
Replace the model placeholder with a model enabled for your Anthropic account.
pack:
name: anthropic-integration
version: 1.0.0
enabled: true
policies:
chain:
- prompt-injection
- pii-detector
- audit-logger
providers:
targets:
- id: anthropic-primary
provider: anthropic
provider_type: anthropic
format: anthropic
model: "replace-with-anthropic-model-id"
base_url: https://api.anthropic.com
secret_key_ref:
env: KEEPTRUSTS_ANTHROPIC_API_KEY
anthropic_version: "2023-06-01"
export KEEPTRUSTS_ANTHROPIC_API_KEY="replace-with-upstream-credential"
kt policy lint --file policy-config.yaml
Linting verifies the public configuration shape. It does not prove that a live upstream request is compatible.
Current implementation status
| Area | Proven behavior |
|---|---|
| Provider alias | anthropic resolves to the Anthropic provider profile |
| Upstream path | /v1/messages |
| Authentication | x-api-key plus the anthropic-version header |
| Request translation | OpenAI messages are translated to an Anthropic-shaped body |
:::warning Confirmed non-runnable path
The runtime currently adds anthropic_version to the JSON body as well as sending the documented anthropic-version header. Anthropic's native Messages contract documents the version in the header, not the body. Until the runtime stops emitting the extra body field and an owning integration test proves the full request, do not route production Anthropic traffic through this target.
:::
Production checks after the runtime is fixed
- Verify the model ID and account permissions in Anthropic's current documentation.
- Use a separate client API token for application requests; do not reuse the gateway runtime token.
- Validate streaming, tools, structured output, and policy behavior end to end for the selected model.
- Keep the Anthropic credential only in the gateway process or an approved secret store.