From d4a93bc25c51da812529393883ebe730722843b3 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 10 Jan 2026 23:39:39 +0100 Subject: [PATCH] fix: normalize model picker refs (#683) (thanks @benithors) --- CHANGELOG.md | 1 + apps/macos/Sources/Clawdbot/ConfigSettings.swift | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d24844dd..4d285cdc6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ ### Fixes - Agents: strip ``/`` tags from hidden reasoning output and cover tag variants in tests. (#688) — thanks @theglove44. +- macOS: save model picker selections as normalized provider/model IDs and keep manual entries aligned. (#683) — thanks @benithors. - Agents: recognize "usage limit" errors as rate limits for failover. (#687) — thanks @evalexpr. - CLI: avoid success message when daemon restart is skipped. (#685) — thanks @carlulsoe. - Gateway: disable the OpenAI-compatible `/v1/chat/completions` endpoint by default; enable via `gateway.http.endpoints.chatCompletions.enabled=true`. diff --git a/apps/macos/Sources/Clawdbot/ConfigSettings.swift b/apps/macos/Sources/Clawdbot/ConfigSettings.swift index 64f623d5e..abf7b4d0b 100644 --- a/apps/macos/Sources/Clawdbot/ConfigSettings.swift +++ b/apps/macos/Sources/Clawdbot/ConfigSettings.swift @@ -832,7 +832,7 @@ struct ConfigSettings: View { if id.lowercased().hasPrefix("\(normalizedProvider)/") { return id } - return "\(provider)/\(id)" + return "\(normalizedProvider)/\(id)" } private func matchesConfigModel(_ choice: ModelChoice) -> Bool { @@ -875,7 +875,14 @@ struct ConfigSettings: View { } private func selectManualModel(_ value: String) { - self.configModel = value.trimmingCharacters(in: .whitespacesAndNewlines) + let trimmed = value.trimmingCharacters(in: .whitespacesAndNewlines) + if let slash = trimmed.firstIndex(of: "/") { + let provider = trimmed[..