Models
Configuring an LLM provider and model.
KaseCode uses the AI SDK and Models.dev to support 75+ LLM providers and it supports running local models.
Providers
Most popular providers are preloaded by default. If you’ve added the credentials for a provider through the /connect command, they’ll be available when you start KaseCode.
Learn more about providers.
Select a model
Once you’ve configured your provider you can select the model you want by typing in:
/modelsYou can also leave the selector on Auto. In that mode, KaseCode will pick the best connected model for the current prompt.
Auto model mode
Auto lets KaseCode route each prompt to a connected model that best fits the current job.
Routing can consider:
- quality vs speed vs cost mode
- preferred providers
- avoided providers
- preferred model patterns
- avoided model patterns
- reasoning requirement
- media support needed for image, PDF, audio, or video inputs
If OpenRouter is connected and exposes openrouter/free, KaseCode can also use that free router as an advisor to recommend the best model from your own configured candidates.
Important:
openrouter/freeis used only to help choose- the actual task still runs on the chosen real model from your configured providers
- if OpenRouter is not connected, KaseCode falls back to its built-in scoring logic
You can configure Auto in three ways:
- desktop app:
Settings -> Models -> Auto Rules - TUI: model picker ->
Auto Rules... - slash commands:
/auto ...
Examples:
/auto quality/auto reasoning on/auto prefer provider openai anthropic/auto avoid model mini nanoThe prompt UI in both desktop app and TUI shows the chosen model and why it was picked.
Recommended models
There are a lot of models out there, with new models coming out every week.
However, there are only a few of them that are good at both generating code and tool calling.
Here are several models that work well with KaseCode, in no particular order. (This is not an exhaustive list nor is it necessarily up to date):
- GPT 5.2
- GPT 5.1 Codex
- Claude Opus 4.5
- Claude Sonnet 4.5
- Minimax M2.1
- Gemini 3 Pro
Set a default
To set one of these as the default model, you can set the model key in your
KaseCode config.
{ "$schema": "https://kase.ammar.click/config.json", "model": "lmstudio/google/gemma-3n-e4b"}Here the full ID is provider_id/model_id. For example, if you’re using OpenAI, you would use openai/gpt-4o for GPT 5.1 Codex.
If you’ve configured a custom provider, the provider_id is key from the provider part of your config, and the model_id is the key from provider.models.
Configure models
You can globally configure a model’s options through the config.
{ "$schema": "https://kase.ammar.click/config.json", "provider": { "openai": { "models": { "gpt-5": { "options": { "reasoningEffort": "high", "textVerbosity": "low", "reasoningSummary": "auto", "include": ["reasoning.encrypted_content"], }, }, }, }, "anthropic": { "models": { "claude-sonnet-4-5-20250929": { "options": { "thinking": { "type": "enabled", "budgetTokens": 16000, }, }, }, }, }, },}Here we’re configuring global settings for two built-in models: gpt-5 when accessed via the openai provider, and claude-sonnet-4-20250514 when accessed via the anthropic provider.
The built-in provider and model names can be found on Models.dev.
You can also configure these options for any agents that you are using. The agent config overrides any global options here. Learn more.
You can also define custom variants that extend built-in ones. Variants let you configure different settings for the same model without creating duplicate entries:
{ "$schema": "https://kase.ammar.click/config.json", "provider": { "kasecode": { "models": { "gpt-5": { "variants": { "high": { "reasoningEffort": "high", "textVerbosity": "low", "reasoningSummary": "auto", }, "low": { "reasoningEffort": "low", "textVerbosity": "low", "reasoningSummary": "auto", }, }, }, }, }, },}Variants
Many models support multiple variants with different configurations. KaseCode ships with built-in default variants for popular providers.
Built-in variants
KaseCode ships with default variants for many providers:
Anthropic:
high- High thinking budget (default)max- Maximum thinking budget
OpenAI:
Varies by model but roughly:
none- No reasoningminimal- Minimal reasoning effortlow- Low reasoning effortmedium- Medium reasoning efforthigh- High reasoning effortxhigh- Extra high reasoning effort
Google:
low- Lower effort/token budgethigh- Higher effort/token budget
Custom variants
You can override existing variants or add your own:
{ "$schema": "https://kase.ammar.click/config.json", "provider": { "openai": { "models": { "gpt-5": { "variants": { "thinking": { "reasoningEffort": "high", "textVerbosity": "low", }, "fast": { "disabled": true, }, }, }, }, }, },}Cycle variants
Use the keybind variant_cycle to quickly switch between variants. Learn more.
Loading models
When KaseCode starts up, it checks for models in the following priority order:
-
The
--modelor-mcommand line flag. The format is the same as in the config file:provider_id/model_id. -
The model list in the KaseCode config.
kasecode.json {"$schema": "https://kase.ammar.click/config.json","model": "anthropic/claude-sonnet-4-20250514"}The format here is
provider/model. -
The last used model.
-
The first model using an internal priority.