LLM configuration
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 throughANTHROPIC_API_KEYor the configuredapi_keyreference.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.codex: Use your local Codex authentication through the Codex SDK.
Claude Code
Use aliases or full Claude model IDs in llm.models:
llm: provider: backend: claude-code models: default: sonnet triage: haiku candidateExtraction: sonnet curator: opus reconcile: opus repair: haiku
During setup, choose the backend interactively or pass it in automation:
ktx setup --llm-backend claude-code --no-input
Setup writes sonnet, haiku, and opus aliases into llm.models. You can
edit any role to another alias or a full Claude model ID after setup.
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.
Codex backend
Use codex when you want ktx to run LLM-backed workflows through your
local Codex authentication instead of a direct provider API key.
llm: provider: backend: codex models: default: gpt-5.5 triage: gpt-5.5 candidateExtraction: gpt-5.5 curator: gpt-5.5 reconcile: gpt-5.5 repair: gpt-5.5
Configure it non-interactively:
ktx setup --llm-backend codex --no-input
This is separate from Codex agent-client setup. ktx setup --agents --target codex installs instructions and MCP access for an end-user Codex session.
ktx setup --llm-backend codex makes ktx itself execute ingest, scan
enrichment, memory, and other LLM-backed work through Codex.
During runtime loops, ktx starts a temporary loopback MCP server for the
current run, exposes only the tools passed to that run, asks Codex to use a
read-only sandbox, sets approval_policy=never, auto-approves only those
run-scoped MCP tools, and disables Codex web search.
Codex backend isolation is currently limited by the public Codex SDK and CLI
surface. Codex may still load user Codex config and built-in command execution
or read-only file capabilities. Use llm.provider.backend: claude-code when
you need stricter Claude-Code-style runtime tool isolation, or remove host
Codex MCP and tool config before running untrusted prompts through the codex
backend.
Prompt caching
llm.promptCaching has partial parity on claude-code. Status and doctor warn
when the Claude Agent SDK backend ignores configured cache fields.