NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #1798 most downloaded on npm
Inquirer search prompt
Last release today
04 Oct 2026
Release timing varies
gaps range from 8 days to 3 months
Some releases are documented
notes for 29 of 57 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
57 releases · first in 2024
Nothing published for this version
Nothing published for this version
Nothing published for this version
@inquirer/core bumped to ^12.0.1
@inquirer/core bumped to ^12.0.1@inquirer/type bumped to ^4.1.0No source changes.
One column per month.
New initialValue?: string option to pre-fill the search input
initialValue?: string option to pre-fill the search input (#2205)@inquirer/core bumped to ^12.0.0@inquirer/figures bumped to ^2.0.8Bugfix: When relying on asynchronous validation, the loader icon was broken.
@inquirer/core bumped to ^12.0.1@inquirer/type bumped to ^4.1.0No source changes.
When pressing a number key, we'll ignore separators in counting the index of the item to select.
prefill option to control if the default value is editable inline or only after pressing tab.instructions option allowing to customize the messages in the help tips.validationFailureMode: 'keep' | 'clear' to control the behaviour when validation fails.undefined as the default value (#2182)@inquirer/core bumped to ^12.0.0Nothing published for this version
Nothing published for this version
Fix #1834: (rawlist) Allows specifying numbers as explicit keys of option within the list.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Feat(@inquirer/rawlist): Arrow keys will now cycle through the option, just like the @inquirer/select prompt. Also added a loop option to control the
@inquirer/select prompt. Also added a loop option to control the list loop behaviour when reaching the boundaries.theme.indexMode to control displaying an index prefix in front of each choice. (defaults to hidden)shortcut config. Allows to customize or disable shortcut keys for select all and invert selection.validationFailureMode: 'keep' | 'clear' to control the behaviour when validation fails.file option covering all options supported by external-editor.Prettify is now recursive, so makeTheme returns a fully flattened theme type (nested style intersections merged into one object) for better IDE display (#2239).Nothing published for this version
Improve Windows rendering to properly match terminal size
Improve Windows rendering to properly match terminal size
Update dependency to fix a LGPL license issue.
Major rewrite of the core to rely on node's async hooks for better isolation of each prompts. Relying on this means each prompt context is fully isola
Major rewrite of the core to rely on node's async hooks for better isolation of each prompts. Relying on this means each prompt context is fully isolated (previously it would rely on the module level context.)
We expect this update to be transparent to most. Though some custom event handlers within useEffect could stop working. If you find any issues there, first please let us know - there might be thing to improve internally to make it transparent. The manual fix will likely be to explicitly define events callback as an AsyncResource.
Let us know how this works for you!
message option of each prompt must now be a string. It could previously be an asynchronous function. See recipes for a migration option.The core codebase went through a major es5 to 6 refactor. As such, we're dropping support for Node 4.
This change will likely require changes to the community Plugins as es6 classes are enforcing more restriction (like constructor can only be invoked with new).
list, expand and rawlist prompts now accepts the value as default (previously it would only accept the choice index).Fix BottomBar with multi-line content.
BottomBar with multi-line content.Fix: gracefully exit process on SIGINT (stopped calling process.exit() directly)
SIGINT (stopped calling process.exit() directly)fix: e2e testing utility now gracefully fail if a dependency isn't in the dependency tree (useful for things like strict Yarn PnP)
{ default: fn() }default handling:
theme.style.keysHelpTip.theme.keybindingsNothing published for this version
Fix bug where a setState call triggered from useEffect might re-render the screen with the previous state.
setState call triggered from useEffect might re-render the screen with the previous state.Fix: There was an issue with ESM/CJS imports interoperability that should now be fixed. Ref #1297
New instructions config to allow localizing the help tips.
instructions config to allow localizing the help tips.@inquirer/testing/vitest & @inquirer/testing/jest. View documentation.password prompt can now rendered hidden input (Unix style)filter function now also receive the current answers as argumentNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix (typescript): If prompt is required, only number can be returned. (previously was nullable)
required, only number can be returned. (previously was nullable)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix help message not always disappearing after interaction in list prompt
ctrl-c) signal on UbuntuProperly respect the pageSize option when deciding whether to paginate or not.
Properly respect the pageSize option when deciding whether to paginate or not.
Fix extra whitespace being printed #506
Fix extra whitespace being printed #506
fix: preserve Value type inference in render()
render()Properly reset the prompt state when a SIGINT signal is emitted. (this fix bug where texts under the input wouldn't be cleared off the terminal after
Nothing published for this version
Tried to maintain backward compatibility as best as possible, but there could be type issue surface. Legacy API marked as deprecated.
Rewrite internals to support a clean promise API. Tried to maintain backward compatibility as best as possible, but there could be type issue surface. Legacy API marked as deprecated.
@inquirer/core.Paginator is deprecated in favour of the usePagination hook. This hook will always properly reflect the width of the output stream.Nothing published for this version
This shouldn't cause issue for most, but if you had specific or uncommon use of the testing framework, this could be a breaking change.
Rewrote how raw input is handled. This shouldn't cause issue for most, but if you had specific or uncommon use of the testing framework, this could be a breaking change.
Major refactor of the core to allow multiple features:
input(...).cancel())Now includes a stricter answer parser. Prior to this change, the prompt would default to Yes on almost any input.
name with . are now expand in the answer object. e.g. name.sub would generate an answer object formatted as {name: {sub: 'answer'}}.expand prompt default value if not specified is now help.Search now support autocomplete like behaviours - See documentation
@inquirer/core@9.1.0 adding support for { signal: AbortSignal } in the context options to programatically cancel a prompt.editor prompt to launch an editor allowing to easily enter multiline content - or edit file content.Fix support for decimal numbers
Nothing published for this version
Nothing published for this version
Nothing published for this version
Allow falsy values as option value in expand prompt.
value in expand prompt.Release tooling package.
package pin <dependency> command rewrites caret/tilde ranges to exact versions across public packages; the release pipeline uses it to pin @inquirer/type in published manifests (#2247).package normalize command applies the fixups required to make manifests valid for npm publishing. It replaces the inline jq step that stripped workspace:* devDependencies (byte-identical output, now also covering the published tools/* packages).index.ts + command.ts, tests colocated); bin.ts only assembles the CLI.Fix issue where vim/emacs keybindings would conflict with the search term input when typing letters used to navigate through the list.
Fix issue where vim/emacs keybindings would conflict with the search term input when typing letters used to navigate through the list.
expand prompt to correctly use the value key as the prompt answer.expand prompt support the filter key.Fix issue where typing would disallow the following
Fix issue where typing would disallow the following
search({
...,
source: async (term: string = '') => {
...
},
});
space key instead of any keys.readline2 in favor of Node core version. This might fix some edge cases some users on windows encountered.First release on a brand new search prompt! See documentation
First release on a brand new search prompt! See documentation
New package - first release!
Drop-in replacement for @inquirer/prompts with localized text.
The whole inquirer API is now based on promises!
inquirer.prompt(questions).then(). There's no more callback function.this.async().filter is now always run before validate #122inquirer.prompt doesn't take a callback argument anymoreAnd various other minor fixes and cleanup to the code base.
Your coding agent can read these notes before it upgrades. Set up the MCP server →