You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: Pi native chat model picker shows only the launch-default model in new chats #36835
Since updating to 1.4.245, a new (not-yet-started) Pi native chat lists only one model in its model picker: the saved launch default for Pi native chats (novita/moonshotai/kimi-k3.1-pro, a model from a custom provider in Pi's models.json). A new chat can't pick anything else. Existing, started Pi native chats show the full list. After choosing claude-bridge/claude-opus-5-5 in an existing chat — which updates the launch default — new chats list Opus 5.5 and the full catalog again.
What I observed
Pi model discovery is healthy. agentModelCatalog.discovery spans in logs/main.trace.ndjson report lister: probe with 107 models, all succeeding, including right after the bug reproduced.
In agent-model-catalog.json, the Pi entry's discovered.models (origin probe, 107 models) contains novita/moonshotai/kimi-k3.1-pro, but live.models (origin live-session) does not. claude-bridge/claude-opus-5-5 appears in both.
The affected new chats are drafts: their agent_session_records have an empty providerHandleChain and no turns, with options.model set to the kimi model. The older chats that work are live sessions with a jsonl-rpc provider handle.
The launch default is stored in profile state as nativeChatSessionOptions.pi.model.
Re-adding the kimi model to Pi's settings.json enabledModels (it had been removed a day earlier) changed nothing.
Likely trigger (not confirmed in source)
The draft picker seems to fall back to only the current/default model when that model is in the probe-discovered list but missing from the live-session list. Possibly related: the cached Claude catalog entry carries complete: true, while the Pi entry has no complete field.
Repro (as observed)
Set a Pi native-chat launch default whose model is in Pi's discovered catalog but not in the live-session model listing (here, a custom-provider model).
Open a new Pi native chat without sending a message.
Open the model picker: only the default model is listed.
In an existing started Pi chat, pick a model present in both lists (here, claude-bridge/claude-opus-5-5), then open a new chat: the full list is back.
Expected
A new Pi native chat lists the full discovered model catalog regardless of which model is the launch default.
Workaround
Pick a different model in an existing, started Pi native chat to change the launch default.
Thanks for the detailed trace. This is fixed on main by #36113 and #36194, which landed just after 1.4.245 was cut and ship in 1.4.246.
A never-sent Pi draft whose model list can't be read yet will now keep the full discovered catalog instead of collapsing to the launch-default model, and Pi no longer saves the narrower live-session model list.
Please update to 1.4.246 when it's out, and reopen if a new chat still shows only one model.
Activity
nwparker commentedon Nov 1, 2026
Thanks for the detailed trace. This is fixed on main by #36113 and #36194, which landed just after 1.4.245 was cut and ship in 1.4.246.
A never-sent Pi draft whose model list can't be read yet will now keep the full discovered catalog instead of collapsing to the launch-default model, and Pi no longer saves the narrower live-session model list.
Please update to 1.4.246 when it's out, and reopen if a new chat still shows only one model.