Skip to content

feat: show each runtime's default model and effort in Settings → Agents #380

Description

@yicheng47

Motivation

A runner with no model/effort override runs on whatever the CLI's own config says — and Runner never shows what that is. Settings → Agents lists each runtime's detected executable, but "default" is opaque: you can't tell from inside the app which model a bare claude or codex spawn will actually use, or at what reasoning effort. Surfacing it makes the runner-create flow honest (leaving model blank means this) and helps debugging ("why is this crew slow/dumb" → it's on the wrong default).

Feasibility

Cheap — the config locations are already known to the app (commands/mcp.rs path helpers):

  • codex: ~/.codex/config.tomlmodel, model_reasoning_effort.
  • trae: ~/.trae/traecli.toml — same codex-fork keys (verified in impl 0036 probing).
  • claude-code: ~/.claude/settings.jsonmodel; effort concept differs (claude has no persistent effort key in settings — show or the CLI default).
  • qoder: ~/.qoder/settings.json — whatever model key it carries (probe like 0034/0036 did).

Reads are per-open of the Settings pane (no watching needed); absent file/key renders as "runtime default" rather than guessing.

Scope sketch

  • Settings → Agents: each runtime row gains a line/badge like default: opus-4.7 · — / default: gpt-5-codex · high, read live from the runtime's own config file.
  • Runner create/edit: the model/effort placeholders show the resolved default (e.g. default (gpt-5-codex)) instead of a bare "default".
  • Read-only — Runner never writes these configs (consistent with the MCP registration posture: only mcp_servers.runner is ever touched).

To be decided

  • Whether the per-runner card on the Runners list also shows the resolved effective model when no override is set.
  • Claude effort display: omit vs show the session default.

Relevant code

  • src-tauri/src/runtime_status.rsstatus_list, the Settings → Agents row source.
  • src-tauri/src/commands/mcp.rs:93-101 — existing per-runtime config path helpers to reuse.
  • src-tauri/src/router/runtime.rsmodel_effort_args (how overrides are passed today, for naming consistency).

Spec: to be written when picked up (issue-only for now, per triage).

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Someday / maybefeatureFeature work tracked in docs/features/

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions