04647f15c8
Surfacing allowed models the curated list lacks was gated on the size of the reachable set alone. A jurisdiction or provider policy leaves few enough models to pass that cap, so it appended the remainder — pushing non-curated alphabetical ids into a picker that shows a curated order on purpose, and making the list long enough that the non-curses fallback's input prompt scrolled off screen and read as a hang. Gate on the intersection instead. The fallback exists for an allowlist that names nothing curated, which is the empty-overlap case; a policy that merely narrows the catalog keeps the curated overlap and needs no help. The size cap stays as a guard on that one path. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>