Issue 22945 real-app evidence Base: b68aedfdb71534bfdfbe55771ef2e686742faa8e Head: 144bc1de04c177d5f88b8efeb1a1860234e9fd3d Both: Linux, web dev app, Chromium, 1280x800 viewport, light theme. Both: T3CODE_DEV_SEED=0, separate fresh T3 homes, separate OpenCode XDG_DATA_HOME directories. Provider runtime: @opencode/cli 2.0.22, real authenticated inference, same privately configured model on both commits. Synthetic project and threads created via T3's real project/thread CLI; browser paired with each server. First prompt: Call T3 Code's orchestrator_capabilities tool once and reply with the number of providers Inspect: expand Worked for, Used N tools, first Execute. Images and recordings crop the conversation to remove runtime model and machine identifiers. The sanitized session transcripts retain ordered user/search/catalog-change/capability-call milestones; actual model metadata and capability responses containing model catalogs are intentionally omitted. Before: both new sessions missed T3 in their first search, then received a catalog-change notice and recovered. After: all three new sessions found T3's orchestrator_capabilities in their first search; no mid-turn catalog-change notice. The final provider count succeeds on both sides after recovery, so it alone does not prove this fix. Replay scenarios cannot demonstrate this OpenCode-specific catalog timing; used real app and provider instead. AI-assisted; verified with the tests and tools listed above.