Problem
In the desktop app's hosted-agent list, only Pi shows the model in use. All supported harnesses should show their model, rendered as a chip like the web UI.
Findings
- The rail already renders
row.Model for every vendor when non-empty (RailSessionViewModel.Sub). Pi is the only vendor that populates a model on a default launch, because its RPC handshake reports the running model (src/Capacitor.Cli.Daemon/Harness/Pi/PiRpcHostedAgentRuntime.cs), captured as ResolvedModel at registration (AgentOrchestrator.cs:2401).
- Claude/Codex (PTY) and the ACP vendors leave
AgentInstance.Model blank on a default launch. Codex resolves its real model but reports it to the server registry only (AgentOrchestrator.cs:2644), not the local status frame.
- Web UI renders the model as a single uniform info-tint chip (not per-model colour): kcap-server
CompactStatsRow.razor (hk-chip-model).
Proposed change
- UI: render the model as an info-tint chip beside the vendor chip in the rail, shown when non-empty.
- Daemon (best-effort resolution): also update the local
AgentInstance.Model for Codex when it resolves; capture the ACP vendors' current/default model from their handshake. Selected models already flow for all vendors once launcher model selection lands (see model-selection issue). Claude PTY default launches (no model requested) may remain blank — accepted as the best-effort gap.
Acceptance
- On a launch where a model is selected, the model chip appears for every vendor.
- On default launches, the model chip appears for Pi (unchanged), Codex, and ACP vendors where the handshake exposes it.
Problem
In the desktop app's hosted-agent list, only Pi shows the model in use. All supported harnesses should show their model, rendered as a chip like the web UI.
Findings
row.Modelfor every vendor when non-empty (RailSessionViewModel.Sub). Pi is the only vendor that populates a model on a default launch, because its RPC handshake reports the running model (src/Capacitor.Cli.Daemon/Harness/Pi/PiRpcHostedAgentRuntime.cs), captured asResolvedModelat registration (AgentOrchestrator.cs:2401).AgentInstance.Modelblank on a default launch. Codex resolves its real model but reports it to the server registry only (AgentOrchestrator.cs:2644), not the local status frame.CompactStatsRow.razor(hk-chip-model).Proposed change
AgentInstance.Modelfor Codex when it resolves; capture the ACP vendors' current/default model from their handshake. Selected models already flow for all vendors once launcher model selection lands (see model-selection issue). Claude PTY default launches (no model requested) may remain blank — accepted as the best-effort gap.Acceptance