NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #1679 most downloaded on npm
Inquirer checkbox prompt
Last release today
04 Oct 2026
Release timing varies
gaps range from 8 days to 3 months
Rarely documented
notes for 13 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
127 releases · first in 2019
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
@inquirer/core bumped to ^12.0.0
@inquirer/core bumped to ^12.0.0No source changes.
Nothing published for this version
Fix (checkbox): Element who're both checked and disabled are now always included in the returned array.
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
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.
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
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
Nothing published for this version
Nothing published for this version
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.
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.[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
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
Your coding agent can read these notes before it upgrades. Set up the MCP server →