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
server: /api/model and /api/provider return an empty catalog while a Location reboots after idle eviction #51701
After a Location is evicted for inactivity and lazily rebooted, GET /api/model and GET /api/provider return 200 OK with an empty catalog for a short window, before the Location's plugin providers finish registering. The response is indistinguishable from a genuinely empty catalog, so clients consume it as authoritative.
Concrete impact: grinev/opencode-telegram-bot#257 treats the empty snapshot as "model has no image capability" and silently drops an incoming Telegram photo, even though the model supports images. Same class as #36117 (service-restart path) and #35556 (initial empty plugin generation); this report is the idle-eviction trigger with an external SDK client.
The read returned ~10 ms after location services booted for /root, i.e. ~3.4 s before the plugin's models were registered.
Expected: model/provider reads should not present intermediate initialization state as authoritative — either await catalog readiness (as proposed in #36117) or expose readiness (e.g. 503 / Retry-After, or a ready marker) so a client can distinguish "not ready yet" from "no models".
Eviction cadence observed on this host today: 10:29:50, 12:06:56, 14:02:25, 16:20:22 — each after roughly an hour without activity for that Location.
Activity
github-actions commentedon Sep 27, 2026
Thanks for updating the issue with the required description and helpful reproduction and system details!