Anthropic
What it gives you — the investigation loop driven by native Claude, over the Messages API rather
than an OpenAI-compatible shim — keyed against api.anthropic.com or a compatible in-cluster gateway.
Minimal config
model:
provider: anthropic
model: claude-sonnet-5
api_key_env: ANTHROPIC_API_KEY # base_url defaults to https://api.anthropic.comPointed at an in-cluster gateway instead of the public API:
model:
provider: anthropic
base_url: http://claude-gateway.llm.svc:8080
model: claude-sonnet-5
# api_key_env omitted — keyless behind the gatewayVerify it locally
kubectl -n runlore create secret generic runlore-secrets \
--from-literal=ANTHROPIC_API_KEY='<key>'Fire a test incident (see Alertmanager or hack/demo.sh) and
confirm an investigation completes with a verdict:
kubectl -n runlore logs deploy/runlore | grep -E 'msg=findings|msg=incident'Notes
base_urlis optional — unset, it defaults tohttps://api.anthropic.com; set it to point at a compatible in-cluster gateway instead.- Requests carry
anthropic-version: 2023-06-01. - Every forced-tool path RunLore relies on (the adversarial verify pass, the recall reranker, the eval
judge, semantic KB validation,
kb import --model) sends Anthropic’s native forced-tool_choiceform ({"type":"tool","name":"…"}) — this is the reference-quality provider for those paths; see OpenAI-compatible for what happens on an endpoint that doesn’t honour it correctly. effort(low/medium/high/max, sent asoutput_config.effort) andthinking: adaptive(sent asthinking: {type: "adaptive"}) are both supported, Anthropic-only. The client replays the model’s signed thinking blocks verbatim across the tool loop — givemax_tokensheadroom whenthinking: adaptiveis on, since thinking consumes output tokens. On the loop’s forced final-submission step, and for the always-forced verify pass, the client dropsthinkingand strips replayed thinking blocks for that one request (a forcedtool_choiceis incompatible with adaptive thinking in the API).model.verify(a separate, optionally cheaper model for the adversarial verify pass) andmodel.embeddings(OpenAI-compatible/embeddingsendpoint for hybrid recall — Anthropic has no embeddings API of its own) both work alongside this provider.- A cleartext API key is rejected on a public
http://host — usehttps://or a loopback/in-cluster address.
Reference
Configuration → model
for the full key reference.