redesign(ai): name-only Cloud model picker — drop the per-row debug detail - #46
Merged
Merged
Conversation
…etail The gateway model picker showed three technical fields per model: the raw id (anthropic/claude-opus-5), the context size, and a "N× credits · NK ctx · ≈N turns left" second line. For someone who just wants to pick Opus 5 that buried the name in noise and made every row a tall two-line block. Each row is now a single, name-forward line: the friendly name + the active check, and a lock + "coming soon" on staged models. The plan and remaining credits still live in the picker's placeholder, so the one number that matters isn't lost. Reads like the Cursor / Claude Code pickers. - dropped: description=id, the ctx/multiplier/turns detail line, and fmtTurns (now unused). matchOnDescription is off, so typing filters by model name only. - staged rows carry _name — the "coming soon" toast used to read the model name out of description, which is now literally the string "coming soon". It's a native QuickPick, so the font follows the app UI font (can't be set per-picker); the single-line rows are what make the name read large and clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR simplifies the LevelCode Cloud (gateway) model QuickPick UI to be name-forward, removing per-row debug metadata (model id/context/multiplier/≈turns) while keeping plan + remaining credits in the picker placeholder.
Changes:
- Removed the per-model secondary detail line and the now-unused
fmtTurnshelper; Cloud model rows are now label-only. - Updated staged (“🔒”) rows to show a visible
coming soondescription and preserved the model name for the info toast via_name. - Switched Cloud picker filtering to
matchOnDescription: falseso searching matches only what’s visible in the row label (the model name).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This was referenced Jul 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
A client just wants to pick "the latest shining Opus 5" — but every row in the Cloud model picker carried three technical fields: the raw id (
anthropic/claude-opus-5), the context size, and aN× credits · NK ctx · ≈N turns leftsecond line. Useful for debugging, noise for choosing. The two-line rows also made the list dense and the model name small.After
Each model is a single, name-forward line — like the Cursor / Claude Code pickers the request pointed at.
The plan + remaining credits stay in the placeholder (
LevelCode Cloud model · Plan: Max · $52.77 credits left), so the one number that actually matters isn't lost — only the per-row debug detail is gone.What changed
description = id, thectx / multiplier / turnsdetail line, andfmtTurns(now unused).matchOnDescription: false— typing filters by the model name only (no hidden id matching), so "opus" narrows to the Opus rows.coming soon, and carry_name— the "coming soon" toast used to read the model name out ofdescription, which is now literally the string "coming soon".On "increase the font size"
It's a native VS Code QuickPick, so its font follows the app's UI font and can't be set per-picker by the extension (same for the command palette). The single-line, name-forward rows are what deliver the big/clean read. A literally larger font would mean replacing the native picker with a custom webview (re-implementing filtering + keyboard nav + theming) — happy to do that as a separate change if the redesign here isn't enough.
Scope
Cloud picker only (
pickCloudModel). The BYOK picker (pickModel) has the same id+detail pattern but a different audience — power users who often want the exact model id — so I left it. Say the word and I'll mirror this there too.🤖 Generated with Claude Code