| Name | Type | Description |
|---|---|---|
current_model | str | None | Default: NoneThe currently active model name (to highlight). |
current_provider | str | None | Default: NoneThe provider of the current model. |
cli_profile_override | dict[str, Any] | None | Default: None |
curated | bool | Default: False |
recommended_models | Mapping[str, str] | None | Default: None |
include_recent_models | bool | Default: True |
title | str | None | Default: None |
description | str | Content | None | Default: None |
default_scope* | DefaultModelScope | None | |
result_callback | Callable[[tuple[str, str] | None], None] | None | Default: None |
| Name | Type |
|---|---|
| current_model | str | None |
| current_provider | str | None |
| cli_profile_override | dict[str, Any] | None |
| curated | bool |
| recommended_models | Mapping[str, str] | None |
| include_recent_models | bool |
| title | str | None |
| description | str | Content | None |
| default_scope | DefaultModelScope | None |
| result_callback | Callable[[tuple[str, str] | None], None] | None |
Full-screen modal for model selection.
Displays available models grouped by provider with keyboard navigation and search filtering. Current model is highlighted.
Returns (model_spec, provider) tuple on selection, or None on cancel.
Extra profile fields from --profile-override.
Merged on top of upstream + config.toml profiles so that app
overrides appear with * markers in the detail footer.
Whether to show a short, profile-ranked model subset.
Optional provider:model to display-name mapping
that replaces the standard recommendation set for this selector.
Whether recent main-model picks should be included in the recommended view.
Optional title override for the selector.
Optional description shown below the title.
Preference Ctrl+S toggles. Required, with no default:
every picker must state which key its Ctrl+S owns, because a
picker choosing something other than the main agent model (e.g.
the /auto classifier) would otherwise silently retarget the
model the agent itself runs on. Pass
MAIN_MODEL_DEFAULT_SCOPE for /model, or None to disable
Ctrl+S and drop its footer hint — for pickers whose choice has
no persistent config key (the /goal model and /rubric model
graders) and for onboarding, which advertises no Ctrl+S.
Optional callback for selector results when the
screen is displayed without a push_screen result callback.