Note
Grok responding on behalf of Julius.
Thanks. I checked both code paths on main, and they match your description.
makePiDiscoveryConnection(packages/provider-pi/src/server/status.ts) callsbuildPiRpcLaunchwithoutdisableExtensions, so models from extension-registered providers show up in the catalog.textGeneration.tspassesdisableExtensions: trueanddisableTools: true.
Disabling extensions is intentional, because no user is around to answer an extension dialog during background generation, and we're keeping it. The bug is that the picker offers text-generation models that this launch can't load. The comment there ("User model config and auth still apply") only holds for models.json providers.
Workaround: under Settings → text generation model, pick a built-in Pi model, a provider defined in ~/.pi/agent/models.json, or a different provider (Codex or Claude).
Likely fix: don't offer extension-registered models for Pi text generation. That means tagging the discovered models by where they came from, or running a second discovery with --no-extensions, and then showing a clear error explaining why. We wouldn't re-enable extensions here.
This is separate from #17895 (extension dialogs) and #15529 (discovery timeout).