Settings UI

SettingsView component — configure LLM provider, coding model, and see live provider status from the frontend.

Overview

SettingsView (components/Settings/SettingsView.tsx) is the in-app configuration panel. It reads the current settings fromGET /api/settings/coding and saves changes viaPOST /api/settings/coding. Changes take effect on the next request — no restart required for model or provider changes.

📌
SettingsView does not manage the .env file directly — it calls the backend which updates the running settings object. To persist changes across restarts, update .env manually.

LLM provider

The provider dropdown shows all eight supported providers. The selected provider updates LLM_PROVIDER at runtime.

OptionProvider
Ollama (local)ollama
Anthropic Claudeanthropic
Groqgroq
Google Geminigoogle
OpenAI / Compatibleopenai-compatible
Mistral AImistral
Coherecohere
NVIDIA NIMnvidia-nim

After selecting a provider, a model name field appears pre-filled with the currently configured model. Change it to override the default.

Coding agent settings

The coding agent can use a different provider from the main chat — setCoding provider to "Same as chat" to inherit, or pick an independent provider (e.g. use Groq for fast chat but a local Ollama coding model for code generation).

SettingDefaultDescription
Coding providerSame as chatIndependent LLM provider for the coding agent.
Coding modelqwen2.5-coder:7bModel name for coding requests.
Max iterations10Maximum tool-call iterations per coding request.
Shell timeout30Seconds before code_run_shell times out.

Provider status

Each provider card shows a live status indicator fetched from the backend. A green checkmark means the provider is configured and reachable; red means the API key is missing or the endpoint is down.

GET /api/settings/coding — providers field
{
  "providers": {
    "ollama":            { "label": "Ollama (local)",      "configured": true  },
    "anthropic":         { "label": "Anthropic Claude",    "configured": true  },
    "groq":              { "label": "Groq",                "configured": false },
    "google":            { "label": "Google Gemini",       "configured": false },
    "openai-compatible": { "label": "OpenAI / Compatible", "configured": false }
  }
}

Click the refresh icon to re-probe provider connectivity without leaving the settings panel.

Settings API

EndpointMethodDescription
/api/settings/codingGETReturns current LLM and coding-agent settings + provider status.
/api/settings/codingPOSTUpdate settings. Body: partial CodingSettings object.
POST /api/settings/coding — example body
{
  "llm_provider": "anthropic",
  "anthropic_model": "claude-sonnet-4-6",
  "coding_provider": "ollama",
  "coding_model": "qwen2.5-coder:14b"
}