unstale

npm / inquirer

inquirer

What changed in inquirer 12 to 14, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-17.

9 breaking11 new APIs and options2 behavior and defaults2 tooling31 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.1 on npm

inquirer 1419 changes

Breaking changes 1

  • Inquirer now throws when it encounters a non-registered prompt instead of defaulting to an input prompt, making broken code easier to detect.

    14.0.0release notes

New APIs and options 4

  • Adds the toggleMask option to reveal password input with ctrl+t.

    14.2.0release notes

  • The search prompt adds the initialValue option.

    14.1.0release notes

  • The useState setter accepts a reducer function that receives the current value and returns the next value; this affects consumers building custom prompts with @inquirer/core.

    14.1.0release notes

  • Set this environment variable to enable vim or emacs keybindings; doing so disables the search feature in the select prompt.

    14.0.0release notes

Tooling 1

  • Prompt and theme types are prettified for better IDE display.

    14.2.0release notes

Fixes and other changes 13

  • Fixed confirm prompts so they always accept y/n.

    14.2.3release notes

  • Fixed whitespace handling in expand prompts.

    14.2.3release notes

  • Fixed whitespace handling in rawlist prompts.

    14.2.3release notes

  • Fixed stale-choice submission in search prompts.

    14.2.3release notes

  • confirm trims surrounding whitespace from answers before matching yes/no keywords.

    14.2.2release notes

  • Keystrokes batched with the key that settles a prompt no longer reach keypress handlers after the prompt is done, cancelled, or aborted.

    14.2.2release notes

  • Published manifests pin @inquirer/type to an exact version, preventing semver-range changes to leaked type definitions from breaking downstream TypeScript builds.

    14.2.1release notes

  • Confirm prompts parse localized yes/no responses.

    14.2.0release notes

  • The confirm prompt handles an explicitly undefined default.

    14.1.0release notes

  • The editor prompt handles an explicitly undefined default.

    14.1.0release notes

  • The number prompt handles an explicitly undefined default.

    14.1.0release notes

  • Floating-point step handling is fixed for the number prompt.

    14.1.0release notes

  • Fixes cursor mispositioning relative to the input when lines wrap.

    14.0.0release notes

inquirer 1332 changes

Breaking changes 8

  • Checked and disabled elements are always included in the returned array.

    13.3.0release notes

  • TypeScript disallows type: 'list' unless a plugin is installed under that name; use select instead.

    13.2.2release notes

  • The cancel() method on prompt return custom Promises is removed; use an AbortSignal instead.

    13.0.0release notes

  • All packages are ESM-only; CommonJS imports are no longer supported.

    13.0.0release notes

  • The helpMode theme property is removed; use theme.style.keysHelpTip instead.

    13.0.0release notes

  • The instructions config property is removed; use theme.style.keysHelpTip instead.

    13.0.0release notes

  • The list prompt alias is removed from the inquirer package; use select instead.

    13.0.0release notes

  • Node.js 20 or later is required; versions below 20 are no longer supported.

    13.0.0release notes

New APIs and options 5

  • A new package is available for internationalization.

    13.3.0release notes

  • New theme options make all prompts content localizable.

    13.3.0release notes

  • Choices can have descriptions, displayed under the list when a choice is highlighted.

    13.2.0release notes

  • The search prompt supports default, allowing developers to specify a default value.

    13.2.0release notes

  • rawlist now supports the default option.

    13.1.0release notes

Behavior and default changes 2

  • A loading message is shown while editor prompt input is being validated.

    13.4.0release notes

  • Type inference is improved for checkbox, search and expand prompts.

    13.4.0release notes

Tooling 1

Fixes and other changes 16

  • Preserves exact literal types in the choices array for TypeScript.

    13.4.3release notes

  • Allows an input default value to be undefined in TypeScript.

    13.4.3release notes

  • Fixes a rendering bug on Windows.

    13.4.3release notes

  • Fixes some Windows terminals freezing and not reacting to keypresses.

    13.4.2release notes

  • Improves type inference for expand prompts.

    13.4.1release notes

  • The editor prompt now properly handles editor paths on Windows.

    13.4.0release notes

  • The cursor can hover disabled list options, but they still cannot be interacted with, preventing confusing cursor jumps.

    13.3.0release notes

  • Keypresses that happen before a prompt is rendered are ignored.

    13.3.0release notes

  • Handles SWC-style module namespace objects.

    13.2.5release notes

  • Numeric default values are now handled correctly by the input prompt.

    13.2.4release notesrelease notes

  • Auto-mocking now handles barrel re-exports from the prompts package.

    13.2.4release notesrelease notes

  • Declares @inquirer/* packages as optional peer dependencies.

    13.2.4release notesrelease notes

  • Prevents artificial line wrapping in test output.

    13.2.4release notesrelease notes

  • Previous answers are again provided to validate functions as the second argument.

    13.2.1release notes

  • select now infers the return type properly when choices is an array of string literals.

    13.1.0release notes

  • Fixes TypeScript failing to discover types when moduleResolution is set to commonjs.

    13.0.2release notes

inquirer 124 changes

New APIs and options 2

  • Allows passing a Partial type for pre-filled answers.

    12.11.1release notes

  • The @inquirer/input package supports simple RegExp validation with pattern and patternError.

    12.11.0release notes

Fixes and other changes 2

  • Downgraded mute-stream to maintain compatibility with Node 18.

    12.11.1release notes

  • Corrects the typo waitForUseInput to waitForUserInput in @inquirer/editor.

    12.11.0release notes