anomalyco / anomalyco/opencode

feat(app): favorite models for quick switching in model selector

Open
#46,284 1 comment 0 reactions 1 assignee View on GitHub

@Hona is already working on this.

Since Aug 30, 2026.

Dominant language
TypeScript
Stars
209k
Forks
27.5k
PR merge metrics
PR metrics pending

Description

Problem

When working with multiple projects or different task complexities, I frequently switch between 3-4 models (e.g. deepseek-v4-pro for complex work, gemma-4 for simple fixes, claude-sonnet for architecture reviews). Currently this requires opening the full model selector popover, scrolling/searching each time. With ~100 visible models across providers, the 2-3 models I actually use are buried in the list.

Proposed solution

Favorite models quick-switch in the model selector popover (ModelSelectorPopoverV2 in packages/app/src/components/dialog-select-model.tsx):

  1. A ★ star icon next to each model in the list — click to toggle favorite state (persisted in localStorage)
  2. A Favorites section pinned at the top of the popover (above search) — pill-shaped buttons for each favorited model, one-click select
  3. Favorite models are always sorted first in the main list

This is a small, focused UI change (~50-70 lines) that doesn't alter any core routing or model selection logic. It reuses existing useLocal().model.set() and the popover's close mechanism.

Why belongs in OpenCode

The model selector is the most-used UI element for users who routinely switch models. A favorites system reduces friction without adding complexity — it's a standard pattern (browser bookmarks, IDE favorites) that users already expect.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.