NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #1646 most downloaded on npm
Inquirer input text prompt
Last release today
04 Oct 2026
Release timing varies
gaps range from 8 days to 3 months
Some releases are documented
notes for 21 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
126 releases · first in 2019
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 quarter.
@inquirer/core bumped to ^12.0.0
@inquirer/core bumped to ^12.0.0No source changes.
@inquirer/core bumped to ^12.0.0
@inquirer/core bumped to ^12.0.0No source changes.
Nothing published for this version
Pressing tab will now toggle between yes/no answers.
tab will now toggle between yes/no answers.transformer option to the input prompt allowing you to modify the displayed user input. (Useful to modify colors as user type, etc)Nothing published for this version
Improve expand prompt type inferrence.
expand prompt type inferrence.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Replace chalk with ~picolors~ (in 5.1.0 went to yoctocolors to stay with Sindre's packages and reduce amount of provenance.)
chalk with ~picolors~ (in 5.1.0 went to yoctocolors to stay with Sindre's packages and reduce amount of provenance.)Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix: Return type when using a list of string as choices.
choices.Nothing published for this version
Fix: breaking change wrongly removed the Separator export.
Separator export.useEffect body. See #1307This decision was made to disambiguate what breaks in each package - with prompts re-exporting core, any core breaking change (no matter how minor) ca…
@inquirer/core isn't exported from @inquirer/prompts anymore. If you want to create custom prompts, import from the core package. This decision was made to disambiguate what breaks in each package - with prompts re-exporting core, any core breaking change (no matter how minor) caused a major version bump. Now only prompts interfaces breaking changes will be major on prompts. We're hoping this will simplify your usage of @inquirer/* packages.validate config; but it was rarely used. It's been removed and prompts relying on it are expected to handle it on their own (no default value.) The types were updated accordingly and will raise issue if you're using typescript.AsyncPromptConfig, it's been deprecated in favour of PromptConfig- import type { AsyncPromptConfig } from '@inquirer/core';
+ import type { PromptConfig } from '@inquirer/core';
- type Config = AsyncPromptConfig & { custom: 'value' };
+ type Config = PromptConfig<{ custom: 'value' }>;
Note: Old interface works for now, but is marked as deprecated.
Breaking: Upgrade to RxJS v5 which updates a bunch of Reactive interface method names.
For people not using the Reactive interface directly, this new major release should just work out of the box.
Fix #1786 indexMode: number theme option didn't properly calculate the items indexes if separators where present in between choices.
indexMode: number theme option didn't properly calculate the items indexes if separators where present in between choices.@inquirer/core bumped to ^12.0.1@inquirer/type bumped to ^4.1.0No source changes.
Errors thrown from prompts are now custom errors.
@inquirer/input: Now support simple RegExp validation with pattern/patternError.theme.style.keysHelpTip.theme.keybindingscheckedName that'll replace the default name once checked.initialValue?: string option to pre-fill the search input (#2205)@inquirer/core bumped to ^12.0.0@inquirer/figures bumped to ^2.0.8Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Bugfix: 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.
Feat(@inquirer/select): Added an instructions option allowing to customize the messages in the help tips.
instructions option allowing to customize the messages in the help tips.validationFailureMode: 'keep' | 'clear' to control the behaviour when validation fails.prefill option to control if the default value is editable inline or only after pressing tab.undefined as the default value (#2182)@inquirer/core bumped to ^12.0.0Nothing 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 #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).Improve Windows rendering to properly match terminal size
Improve Windows rendering to properly match terminal size
Update dependency to fix a LGPL license issue.
All prompts are now themable. See each prompts documentation about the options available.
message option of each prompt must now be a string. It could previously be an asynchronous function. See recipes for a migration option.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!
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).Nothing published for this version
Breaking: Includes new major version of @inquirer/core.
@inquirer/core.Paginator is deprecated in favour of the usePagination hook. This hook will always properly reflect the width of the output stream.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.
Add support for Separator in the choices array.
Separator in the choices array.@inquirer/core@9.1.0 adding support for { signal: AbortSignal } in the context options to programatically cancel a prompt.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
Nothing published for this version
Nothing published for this version
Nothing published for this version
[Typescript] value is now generic and will be inferred from the values passed in.
value is now generic and will be inferred from the values passed in.key in the choice array.@inquirer/core@9.1.0 adding support for { signal: AbortSignal } in the context options to programatically cancel a prompt.useState), it'll only re-renders if the value changed.If you're setting multiple state in a callback from an async function (like setTimeout or a network call), those will not be merged in a single re-renders. For those case, you're better using a state object holding all values to reduce the amount of re-renders. Open to discuss this in #1251
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →