# What changed in @clack/core

> 41 changes in @clack/core 1 from its official release notes, upgrade guides and advisories: 5 breaking, 21 new APIs and options. Each one cited. Sources checked 2026-10-20. HTML: https://unstale.sh/npm/@clack/core/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @clack/core 1

### Breaking changes

- The unused debug option key was removed. (1.3.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.3.0)
- The engines field now expresses a Node.js requirement of >=20.12. (1.3.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.3.0)
- The package is now distributed as ESM-only; existing CommonJS projects may need to use Node’s ESM loading support. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)
- Placeholders are visual hints rather than tabbable values; pressing enter on an empty prompt now treats a placeholder value as the prompt value. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)
- The suggestion prompt is removed. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)

### New APIs and options

- Prompts can opt into accessible mode individually through PromptOptions; the resolved Prompt getter and isAccessible() setting resolve in order from per-prompt option to updateSettings({ accessible }) to ACCESSIBLE. (1.5.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.5.0)
- Prompts support asynchronous validation. (1.5.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.5.0)
- The opt-in completeOnTab option lets Tab fill the input with the focused suggestion and adds a “Tab: complete” footer hint; the path prompt supports tab-completion, while default autocomplete behavior is unchanged. (1.5.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.5.0)
- Exports the CANCEL_SYMBOL constant from @clack/core and @clack/prompts. (1.5.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.5.0)
- A new multiline prompt supports multi-line text input. (1.3.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.3.0)
- Adds a placeholder option; when the input is empty, pressing tab sets the value to the placeholder. (1.2.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.2.0)
- Adds a date prompt with format support for YMD, MDY, and DMY. (1.2.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.2.0)
- Adds an autocomplete prompt component. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)
- Adds an autocomplete multi-select prompt component. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)
- Adds an autocomplete prompt to core. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)
- Adds a caseSensitive option to select-key. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)
- The password prompt can clear input automatically when validation fails. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)
- The multi-select prompt supports inverting the selection. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)
- Prompts support custom writable output streams. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)
- Select and multi-select prompts allow disabled options. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)
- The group multi-select prompt can disable selecting top-level groups while leaving child options selectable. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)
- Spinner instances can customize their cancel message. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)
- Spinner instances can customize their error message. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)
- Global spinner cancel and error messages can be customized through updateSettings. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)
- Prompts now store user input separately from their value. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)
- All prompts gain an option to disable the default Clack border. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)

### Behavior and default changes

- Text prompts render validation state. (1.5.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.5.0)
- Prompts’ optional validate() function now accepts libraries following the Standard Schema specification, enabling shorthand, type-strict schema-based validation. (1.4.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.4.0)
- Autocomplete and select prompts support wrapping. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)
- The path prompt changes to be an autocomplete prompt. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)

### Fixes and other changes

- Prompt return types now specify CANCEL_SYMBOL instead of the broader symbol type. (1.5.1) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.5.1)
- Prompts and utilities now handle empty arrays. (1.4.3) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.4.3)
- The prompt submits only when double-return happens at the end of input. (1.4.2) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.4.2)
- The initial value is used as the initial user input. (1.4.2) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.4.2)
- When there is initial input, the cursor is placed at the end. (1.4.2) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.4.2)
- An empty submission now resolves to "" instead of undefined, matching the text prompt behavior and documented return type. (1.4.2) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.4.2)
- Fixed spaces and uppercase characters in multiline prompt. (1.4.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.4.0)
- Fixes line wrapping and overflow computation in group multi-select and other list-like prompts. (1.3.1) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.3.1)
- The default filter is applied only when explicitly set or when options is not a getter. (1.2.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.2.0)
- Disabled options can no longer be selected in autocomplete. (1.0.1) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.1)
- Text prompts validate initial values immediately when both initialValue and validate props are provided. (1.0.0) — [release notes](https://github.com/bombshell-dev/clack/releases/tag/%40clack/core%401.0.0)
