npm / @clack/prompts
@clack/prompts
What changed in @clack/prompts 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.
8 breaking46 new APIs and options10 behavior and defaults25 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli init@clack/prompts 189 changes
Breaking changes 8
The default formatter of note() no longer dims lines; provide a format() function to restore the old behavior.
The package now declares a Node.js >=20.12 requirement.
The package is now distributed as ESM-only instead of being dual-published as CJS and ESM.
A placeholder is a visual hint rather than a tabbable value.
The path prompt is changed to be an autocomplete prompt.
Progress bars use a distinct cancel method instead of stop with a status code.
Progress bar errors use a distinct error method instead of stop with a status code.
Spinner errors use a distinct error method instead of stop with a status code.
New APIs and options 46
Prompts support asynchronous validation.
Adds opt-in Tab completion: pressing Tab fills the input with the focused suggestion and shows a completion hint; default behavior is unchanged.
Exports the CANCEL_SYMBOL constant from @clack/prompts.
The select, multiselect, and groupMultiselect prompts accept showInstructions; keyboard hints remain shown by default, and passing false hides them.
Adds a maxItems option to groupMultiselect.
groupMultiselect now supports scrolling.
Adds a prompt for multi-line text input.
Adds a placeholder option; when the input is empty, pressing tab sets the value to the placeholder.
Adds a date prompt with format support for YMD, MDY, and DMY.
The confirm prompt gains a
verticalarrangement option.The confirm prompt now supports the
withGuideoption.The password prompt now supports the
withGuideoption.The select prompt now supports the
withGuideoption.The selectKey prompt now supports the
withGuideoption.The spinner prompt now supports the
withGuideoption.The prompts package adds an autocomplete-multiselect component.
Autocomplete multiselect adds a required option.
The prompts package adds an autocomplete component.
Autocomplete multiselect accepts a custom filter function, enabling filtering such as fuzzy searching.
AutocompletePrompt is added to core, with autocomplete and autocomplete-multiselect components in the prompts package.
A box prompt renders boxed text, similar to a note.
Select-key adds a caseSensitive option.
A positive integer groupSpacing adds that number of new lines between groups.
Multi-select prompts allow disabled options.
The note prompt adds a format option for formatting individual lines.
The note prompt supports withGuide.
The password prompt can automatically clear input when validation fails.
A progress prompt displays a progress bar.
All prompts accept a custom input stream.
All prompts accept a custom output stream.
All prompts accept withGuide to disable the default Clack border.
Select prompts allow disabled options.
Setting selectableGroups to false prevents selecting top-level groups while leaving their children selectable.
Prompt settings, including messages, are accessible directly.
Spinner cancellation uses a distinct cancel method instead of stop with a status code.
Spinner instances can customize their cancellation message.
A clear method stops and clears a spinner.
Spinner instances can customize their error message.
The spinner prompt supports custom frames.
The spinner prompt adds a styleFrame option.
A SpinnerResult type describes the return type of spinner.
A taskLog prompt provides log output that is cleared on success.
Task logs can use groups, and groups can have scrolling windows of logs.
Global prompt settings can customize spinner cancellation messages.
Global prompt settings can customize spinner error messages.
Prompts store user input separately from their value.
Behavior and default changes 10
The guide bar rendered with withGuide enabled is styled grey to match the gutter drawn by log, note, and the spinner.
Text prompts render validation state.
Shows keyboard instruction footers in the active state, with no option to disable them.
Shows keyboard instruction footers in the active state, with no option to disable them.
Shows keyboard instruction footers in the active state, with no option to disable them.
Autocomplete and select prompts support wrapping.
Prompts support signals so they can be aborted.
Spinner output wraps to support multi-line and wrapped messages.
Spinner cancellation can be detected via CTRL+C, allowing graceful handling of user interruptions.
Log messages show a symbol when withGuide is true.
Fixes and other changes 25
Prompt return types now specify CANCEL_SYMBOL instead of the broader symbol type, improving type accuracy.
Fixes extra spaces in text prompts when withGuide is enabled.
Various prompts and utilities now handle empty arrays.
Fixed spaces and uppercase characters in multiline prompt input.
Removes indent when withGuide is set to false.
Fixes line wrapping and overflow computation in group multi-select and other list-like prompts.
The autocomplete prompt now respects
withGuide: false.Applies the guide to wrapped multi-line messages in the confirm prompt.
The multiselect prompt now respects
withGuide: false.With
directory: true, the path prompt enforces directory-only selection while still allowing directory navigation.Pressing Enter with an existing directory as
initialValuesubmits that directory instead of the first child option.Fixes withGuide support in intro, outro, and cancel messages.
Fixes line wrapping behavior in autocomplete.
Autocomplete no longer allows disabled options to be selected.
The path prompt now supports the
withGuideoption.Box rendering handles CJK correctly.
Multi-line prompts support wrapped messages.
Hints are now shown for every selected option that has a hint property, rather than only the first option.
Note text is hard-wrapped to the column limit, and a note overflow bug is fixed.
Note rendering handles CJK correctly.
Placeholder rendering in autocomplete is fixed.
Select-key wrapping is fixed.
Multi-line messages and options render correctly in select prompts.
Calling stop on a spinner that has not started is handled.
Destructive ANSI codes are stripped from task log messages.