Skip to content

feat(cli): add type-to-search filtering to select/multiselect dialogs#6862

Merged
katzdave merged 4 commits intoblock:mainfrom
stebbins:feat/provider-search
Feb 5, 2026
Merged

feat(cli): add type-to-search filtering to select/multiselect dialogs#6862
katzdave merged 4 commits intoblock:mainfrom
stebbins:feat/provider-search

Conversation

@stebbins
Copy link
Contributor

@stebbins stebbins commented Jan 31, 2026

closes #6961

Summary

Adds type-to-search filtering to a few more selection UIs

Just a few more additions of the same thing in #3039.

Here's a gif going through the changes:

output


Changes

Enabled cliclack::Select::filter_mode() and cliclack::MultiSelect::filter_mode() on 7 dialogs:

Dialog Type Rationale
Provider selection select 15+ providers and growing
Project selection select User's project history can grow large
Toggle extensions multiselect User's installed extensions
Remove extensions multiselect Disabled extensions list
Choose extension for tool config select Enabled extensions + platform
Choose tool to update permission select Extensions often have 10+ tools
Remove custom provider select User's custom providers

Before/After

Before: Users must scroll with arrow keys through potentially long lists.

After: Users can type to filter the list (e.g., typing "open" filters to "OpenAI", "OpenRouter").

Test plan

  • cargo check -p goose-cli passes
  • cargo test -p goose-cli passes (111 tests)
  • cargo clippy -p goose-cli clean
  • Manual testing of goose configure provider selection

Related

🤖 Generated with Claude Code

stebbins and others added 4 commits January 31, 2026 00:50
Add support for Moonshot AI's Kimi models via the declarative provider
system. Moonshot's API is OpenAI-compatible and supports tool calling
and streaming.

Models included:
- kimi-k2.5 (256K context, latest)
- kimi-k2-turbo-preview (256K context)
- kimi-k2-0905-preview (256K context)
- kimi-k2-0711-preview (128K context)
- kimi-k2-thinking (128K context)
- kimi-k2-thinking-turbo (128K context)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Harrison <hcstebbins@gmail.com>
Enable filter_mode() on the provider selection dialog in `goose configure`,
allowing users to type to filter the list instead of scrolling with arrow keys.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Harrison <hcstebbins@gmail.com>
Enable type-to-search filtering on additional dialogs that can have
many items:

- Project selection (user's project history)
- Toggle extensions (multiselect)
- Remove extensions (multiselect)
- Choose extension to configure tools
- Choose tool to update permission
- Remove custom provider

This complements the earlier provider selection change, following the
pattern established in PR block#3039 for model selection.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Harrison <hcstebbins@gmail.com>
Signed-off-by: Harrison <hcstebbins@gmail.com>
@stebbins stebbins force-pushed the feat/provider-search branch from 07ad876 to 68a0e5a Compare January 31, 2026 05:50
@stebbins stebbins marked this pull request as ready for review January 31, 2026 05:51
Copy link
Collaborator

@katzdave katzdave left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

@katzdave katzdave added this pull request to the merge queue Feb 5, 2026
Merged via the queue into block:main with commit ca879da Feb 5, 2026
18 checks passed
katzdave added a commit that referenced this pull request Feb 6, 2026
…webtoken-10.3.0

* origin/main: (54 commits)
  Switch tetrate tool filtering back to supports_computer_use (#7024)
  feat(ui): add inline rename for chat sessions in sidebar (#6995)
  fix: handle toolnames without underscores (#7015)
  feat(claude-code): use stream-json protocol for persistent sessions (#7029)
  test(providers): add model listing to live provider suite (#7038)
  Agent added too much (#7036)
  fix(deps): bump tree-sitter to 0.26 and set sqlx default-features=false to fix RUSTSEC advisories (#7031)
  feat: add image support and improve error resilience for Codex (#7033)
  fix(providers): Azure OpenAI model listing 404 during configure (#7034)
  fix(deps): bump bat to 0.26.1 to resolve RUSTSEC-2026-0008 (#7021)
  Don't swallow Tetrate errors  (#6998)
  docs: remove hardcoded_stuff links (#7016)
  fix(ui): keep Hub chat input from overlapping SessionInsights on paste (#6719)
  Clean up css (#6944)
  docs: aws bedrock bearer token auth (#6990)
  docs: extended custom provider headers support (#7012)
  feat(cli): add type-to-search filtering to select/multiselect dialogs (#6862)
  feat(ci): add cargo-audit workflow for scanning rust vulnerabilities (#6351)
  feat: add User-Agent header to MCP HTTP requests (#6988)
  chore(deps-dev): bump webpack from 5.102.1 to 5.105.0 in /ui/desktop (#6996)
  ...

# Conflicts:
#	Cargo.lock
kuccello pushed a commit to kuccello/goose that referenced this pull request Feb 7, 2026
…block#6862)

Signed-off-by: Harrison <hcstebbins@gmail.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Tyler-Hardin pushed a commit to Tyler-Hardin/goose that referenced this pull request Feb 11, 2026
…block#6862)

Signed-off-by: Harrison <hcstebbins@gmail.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Tyler-Hardin pushed a commit to Tyler-Hardin/goose that referenced this pull request Feb 11, 2026
…block#6862)

Signed-off-by: Harrison <hcstebbins@gmail.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Type-to-search filtering for selection dialogs

2 participants