--- title: LLM configuration description: Configure KTX LLM providers, model roles, and prompt caching. --- Configure text generation, structured extraction, and ingest or memory loops in the top-level `llm` block. ## Backends Set `llm.provider.backend` to one of these values: - `anthropic`: Use the Anthropic API through `ANTHROPIC_API_KEY` or the configured `api_key` reference. - `vertex`: Use Vertex AI Anthropic models through Google Cloud credentials. - `gateway`: Use AI Gateway-compatible Anthropic model ids. - `claude-code`: Use your local Claude Code session through the Claude Agent SDK. KTX strips provider-routing environment variables from child processes. ## Claude Code Use aliases or full Claude model IDs in `llm.models`: ```yaml llm: provider: backend: claude-code models: default: sonnet triage: haiku candidateExtraction: sonnet curator: sonnet reconcile: sonnet repair: sonnet ``` During setup, choose the backend interactively or pass the model in automation: ```bash ktx setup --llm-backend claude-code --llm-model opus --no-input ``` For Claude Code, `sonnet`, `opus`, and `haiku` map to KTX defaults. Full Claude model IDs are also accepted. `claude-code` exposes only KTX MCP tools for the current agent loop. SDK init metadata may still list host slash commands, skills, and subagents; KTX does not grant execution access to them. ## Prompt caching `llm.promptCaching` has partial parity on `claude-code`. Status and doctor warn when the Claude Agent SDK backend ignores configured cache fields.