Versions: Desktop 0.184.0, bundled droid CLI 0.227.0, macOS 27.0 (arm64). Worked on Desktop 0.183.2.
What happens After updating to 0.184.0, my custom models (customModels in ~/.factory/settings.json, provider anthropic, local baseUrl) show up briefly in the desktop model picker and then disappear. New sessions start on auto instead of my sessionDefaultSettings.model (a custom: id).
Expected New sessions use my custom default model, and custom models stay in the picker.
Evidence
The config is valid. droid exec --help lists all 14 custom models, and droid.list_models (includeDisabled) returns all of them with disabled: false.
The daemon log shows the desktop UI sending two settings updates within ~8 ms at session creation. The first one is correct and the second overwrites it:
UpdateSessionSettings received modelId: "custom:Claude-Opus-5-5-Claude"
UpdateSessionSettings received modelId: "auto", reasoningEffort: "none"
[Model-Router] Model transition source: "manual", previousModelId: "custom", modelId: "auto"
Earlier update attempts with the custom id fail with MetaError: No active session found for ID (handleUpdateSessionSettings).
The pre-initialized session cached in desktop localStorage (factory:pre-init-sessions-by-machine-id) is stored with modelId: "auto", so the problem comes back after every restart.
Suspected cause: The new-session defaults resolver seems to run with a model list built before the local daemon's defaults arrive. That list has only feature-flag built-ins plus cloud-account customModels, so it has none of the local ones. The first-enabled missing-model strategy then picks auto. The same session goes through a race where a correct update fails with "No active session found".
Repro
Define custom models only in local ~/.factory/settings.json and set sessionDefaultSettings.model to one of them.
Launch Desktop 0.184.0 and start a new local session.
The session model becomes auto, and the custom models disappear from the picker.
Versions: Desktop 0.184.0, bundled droid CLI 0.227.0, macOS 27.0 (arm64). Worked on Desktop 0.183.2.
What happens After updating to 0.184.0, my custom models (customModels in ~/.factory/settings.json, provider anthropic, local baseUrl) show up briefly in the desktop model picker and then disappear. New sessions start on auto instead of my sessionDefaultSettings.model (a custom: id).
Expected New sessions use my custom default model, and custom models stay in the picker.
Evidence
The config is valid. droid exec --help lists all 14 custom models, and droid.list_models (includeDisabled) returns all of them with disabled: false.
The daemon log shows the desktop UI sending two settings updates within ~8 ms at session creation. The first one is correct and the second overwrites it:
UpdateSessionSettings received modelId: "custom:Claude-Opus-5-5-Claude"
UpdateSessionSettings received modelId: "auto", reasoningEffort: "none"
[Model-Router] Model transition source: "manual", previousModelId: "custom", modelId: "auto"
Earlier update attempts with the custom id fail with MetaError: No active session found for ID (handleUpdateSessionSettings).
The pre-initialized session cached in desktop localStorage (factory:pre-init-sessions-by-machine-id) is stored with modelId: "auto", so the problem comes back after every restart.
Suspected cause: The new-session defaults resolver seems to run with a model list built before the local daemon's defaults arrive. That list has only feature-flag built-ins plus cloud-account customModels, so it has none of the local ones. The first-enabled missing-model strategy then picks auto. The same session goes through a race where a correct update fails with "No active session found".
Repro
Define custom models only in local ~/.factory/settings.json and set sessionDefaultSettings.model to one of them.
Launch Desktop 0.184.0 and start a new local session.
The session model becomes auto, and the custom models disappear from the picker.