Skip to content

Providers & Models

import Screenshot from ’../../../components/Screenshot.astro’

Kanna supports three providers — Claude, Codex (OpenAI), and OpenRouter — switchable per-chat from the composer.

Provider switcher

The composer’s provider button lets you pick between Claude, Codex, and OpenRouter. Each provider exposes its own model list and reasoning controls.

Claude

  • OAuth Pool — register multiple OAuth tokens; Kanna rotates per chat. See OAuth Pool Setup.
  • PTY DriverKANNA_CLAUDE_DRIVER=pty runs claude CLI under a pseudo-terminal for subscription billing.
  • Models — Opus 4.7, Sonnet 4.6, Haiku 4.5, plus [1m] 1M-context variants.

Codex

  • API key authOPENAI_API_KEY in environment
  • Reasoning effort control — low / medium / high / fast-mode toggle per chat
  • Modelsgpt-5 family with reasoning toggles

OpenRouter

  • API key auth — set the LLM provider to OpenRouter and paste an OpenRouter API key in Settings. Turns run against OpenRouter’s Anthropic-compatible endpoint (the key is injected as ANTHROPIC_AUTH_TOKEN; any ANTHROPIC_API_KEY is cleared).
  • Live model catalog — the composer’s OpenRouter model picker populates dynamically from OpenRouter’s public /api/v1/models endpoint, filtered to tool-capable models and cached for ~1 hour.
  • No subscription billing — OpenRouter is billed per-token by OpenRouter, independent of the Claude PTY subscription path.

Switching mid-chat

Provider/model can change mid-chat. The new turn uses the picked provider; previous turns remain unchanged.

Subscription billing vs API rates

Driver modeBillingAuthModels
SDK (default)API ratesOAuth pool or API keyAll Claude models
PTY (KANNA_CLAUDE_DRIVER=pty)Pro/Max subscriptionOAuth pool onlyAll Claude models

PTY mode requires macOS or Linux. See Security & Sandboxing for the per-spawn smoke-test gate applied.