Skip to main content
Cynative supports Anthropic’s Claude family through the Bifrost anthropic provider. Claude models are well-suited to security research workloads: large context windows, strong instruction-following, and native support for extended thinking (reasoning). Cynative also automatically enables prompt caching for Anthropic, so repeated tool schemas and system prompts are billed at the cached read rate.

Quick start

No ~/.cynative/config.yaml file is required.

YAML configuration

Authentication

Get an API key from console.anthropic.com/settings/keys. Cynative resolves the key in this order:
  1. llm.api_key in YAML (or CYNATIVE_LLM_API_KEY env var).
  2. llm.keys[] in YAML (for multi-key load balancing or model filters).
  3. ANTHROPIC_API_KEY — the canonical fallback.
Setting both llm.api_key and llm.keys[] is rejected at startup.

Reasoning (extended thinking)

Claude models that support extended thinking expose it through Cynative’s provider-portable reasoning_effort and reasoning_max_tokens fields:
Or via environment variables:

How reasoning maps to Anthropic’s API

Prompt caching

Cynative marks the stable prefix of every request with ephemeral cache breakpoints — the tool schemas, the system prompt, and the last two conversation turns. Anthropic’s API caches that prefix and bills cached reads at a significant discount. Key points:
  • Cache TTL: Anthropic’s default five-minute ephemeral TTL. Back-to-back calls (e.g. unattended --auto-approve runs) benefit the most; long human-approval pauses may let the cache expire.
  • Nothing to configure. Caching is on automatically for the anthropic provider (and for Claude models on bedrock and vertex).
  • Write vs. read cost. The first call in a window pays a write cost; subsequent calls within the window pay only the (cheaper) read cost. The Anthropic usage dashboard shows the split.

Environment variable reference