whatisgithub

What is claude-model-selector?

zanwei/claude-model-selector — explained in plain English

Analysis updated 2026-05-18

20JavaScriptAudience · vibe coderLicense

In one sentence

A dependency-free Web Component that recreates the Claude desktop effort-level slider, with six selectable tiers and spring-snap dragging.

Mindmap

mindmap
  root((claude-model-selector))
    What it does
      Effort level slider
      Zero dependency component
      Claude inspired design
    Tech stack
      JavaScript
      Web Components
      Shadow DOM
    Use cases
      Drop in UI slider
      Custom effort picker
      Learning example
    Audience
      Vibe coders
      Frontend developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Drop a Claude-style effort slider into any web page as a single custom HTML tag.

USE CASE 2

Let users pick between six effort levels and read the selection through a change event.

USE CASE 3

Style the slider's colors and width using a handful of CSS variables.

USE CASE 4

Study a small, dependency-free Web Component as a learning example.

What is it built with?

JavaScriptWeb ComponentsShadow DOMCSS

How does it compare?

zanwei/claude-model-selectoraaronz345/athena-personal-academic-pagealana72212/akamai-vm
Stars202020
LanguageJavaScriptJavaScriptJavaScript
Setup difficultymoderatehard
Complexity2/55/5
Audiencevibe coderresearcherresearcher

Figures from each repo's GitHub metadata at analysis time.

So what is it?

claude-model-selector is a small, self contained piece of web page interface, styled after a slider seen in the Claude desktop app for choosing how much effort an AI response should use. It is built as a Web Component, meaning it works as a single custom HTML tag you can drop into any page without pulling in any other library or framework. Once added to a page, the component shows six discrete levels to choose from: Low, Medium, High, Extra, Max, and Ultracode. Users can drag the slider between levels, and it snaps into place with a light spring like motion once released. The top tier, Ultracode, has an animated pixel effect to make it stand out. The component supports keyboard navigation, visible focus outlines, closing with the Escape key or by clicking outside it, and it respects a visitor's system setting for reduced motion. A developer can read or set the current position using a value attribute, check the current level's name, and open, close, or toggle the effort panel through simple method calls. The component fires standard input events while someone is dragging the slider, and a change event once a selection is finalized, both of which include the selected index, level name, and value so a page can react to the choice. Its colors and width can be adjusted through a small set of CSS variables. To try it, a developer can open the included demo page directly in a browser or copy the JavaScript file into their own project and include it with a single script tag. It needs a modern browser that supports Web Components, Shadow DOM, Canvas 2D, and ResizeObserver. The project states plainly that it is an independent, Claude inspired experiment and is not affiliated with or endorsed by Anthropic. It is released under the MIT license.

Copy-paste prompts

Prompt 1
Explain how the value attribute and change event work together in claude-model-selector.
Prompt 2
Show me how to add this slider to a plain HTML page with a script tag.
Prompt 3
Help me customize the colors and width of the slider using its CSS variables.
Prompt 4
How is the animated Ultracode tier implemented using Canvas in this component?

Frequently asked questions

What is claude-model-selector?

A dependency-free Web Component that recreates the Claude desktop effort-level slider, with six selectable tiers and spring-snap dragging.

What language is claude-model-selector written in?

Mainly JavaScript. The stack also includes JavaScript, Web Components, Shadow DOM.

Who is claude-model-selector for?

Mainly vibe coder.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.