Skip to content

[plan] Add huh.NewMultiSelect for tool/option selection in interactive add wizard #41704

Description

@github-actions

Objective

Replace multi-value collection flows in the interactive add wizard with huh.NewMultiSelect fields for better UX, instead of multiple sequential Select fields or CLI flag accumulation.

Context

From discussion #41645 (Terminal Stylist analysis): The add_interactive_workflow.go flow that collects tool selections would benefit from MultiSelect fields. The existing HuhTheme in pkg/styles/huh_theme.go already covers MultiSelectSelector, SelectedPrefix, and UnselectedPrefix styles — the plumbing is ready.

Approach

  1. Identify all places in pkg/cli/add_interactive_workflow.go and pkg/cli/interactive.go where multiple sequential Select fields or CLI flag accumulation is used to collect a list of tool/option choices
  2. Replace each such pattern with huh.NewMultiSelect[T]():
    • Set .Title(), .Description(), .Options() (using huh.NewOption(label, value) for each choice)
    • Set .Value(&selectedSlice) where selectedSlice is []T
    • Apply .WithTheme(styles.HuhTheme) and .WithAccessible(console.IsAccessibleMode()) consistent with the rest of the codebase
  3. Update any downstream code that consumed the old single-value selection to work with the new slice result
  4. Run make fmt and make agent-report-progress to validate

Files to Modify

  • pkg/cli/add_interactive_workflow.go
  • pkg/cli/interactive.go (if applicable)
  • Any other pkg/cli/add_interactive_*.go files that have similar multi-value collection flows

Acceptance Criteria

  • Multi-value tool/option selection uses huh.NewMultiSelect instead of sequential Select fields
  • WithTheme and WithAccessible are applied consistently
  • Non-TTY fallback path handles the multi-select gracefully (falls back to text prompt or accepts comma-separated input)
  • make agent-report-progress passes

Generated by 📋 Plan Command · 27.8 AIC · ⌖ 10.1 AIC · ⊞ 4.6K ·
Comment /plan to run again

  • expires on Jun 28, 2026, 5:22 AM UTC-08:00

Metadata

Metadata

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions