@clack/prompts breaking changes
Every breaking API change we have recorded in @clack/prompts on npm: 34 breaking changes in 4 versions. Below are its newest 4 versions, removals and renames first, each with its source.
Newest change January 28, 2026

On this page
1.0.0
- Removed
The package is now distributed as ESM-only instead of dual CJS and ESM. CJS projects must switch to ESM or use require() of ES modules on Node v20+. github.com - Renamed
prompts.suggestion
The suggestion prompt was removed and the path prompt was changed to an autocomplete prompt. github.com - Behavior changed
placeholder
Placeholder is now only a visual hint and no longer a tabbable value. github.com - Behavior changed
spinner.stop
Messages passed to stop no longer have dots removed, so output text changes for existing callers. github.com - Signature changed
cancel
Was const cancel: (message?: string) => void; now const cancel: (message?: string, opts?: CommonOptions) => void. npmjs.com - Signature changed
ClackSettings
Was export {ClackSettings, isCancel, updateSettings} from '@clack/core'; now export {ClackSettings, isCancel, settings, updateSettings} from '@clack/core'. npmjs.com - Signature changed
ConfirmOptions
Was interface ConfirmOptions; now interface ConfirmOptions extends CommonOptions. npmjs.com - Signature changed
group
Was const group: <T>(prompts: PromptGroup<T>, opts?: PromptGroupOptions<T> | undefined) => Promise<{[P in keyof PromptGroupAwaitedReturn<T>]: PromptGroupAwaitedReturn<T>[P];}>; now const group: <T>(prompts: PromptGroup<T>, opts?... npmjs.com - Signature changed
groupMultiselect
Was const groupMultiselect: <Value>(opts: GroupMultiSelectOptions<Value>) => Promise<symbol | Value[]>; now const groupMultiselect: <Value>(opts: GroupMultiSelectOptions<Value>) => Promise<Value[] | symbol>. npmjs.com - Signature changed
GroupMultiSelectOptions
Was interface GroupMultiSelectOptions<Value>; now interface GroupMultiSelectOptions<Value> extends CommonOptions. npmjs.com
And 21 more in this version.
1.0.0-alpha.1
- Behavior changed
placeholder
Placeholder is now only a visual hint and no longer a tabbable value, so code relying on it as a value will behave differently. github.com
1.0.0-alpha.0
- Removed
The package is now distributed as ESM-only instead of dual CJS and ESM. CJS projects must load it with require() of ECMAScript modules on Node v20+ or switch to ESM imports. github.com
0.11.0
- Behavior changed
Placeholder text is no longer set as the value returned by prompts. Code that relied on the placeholder being returned must handle an empty value again. github.com
Check your code
These are the changes. To see which of them reach your code, scan a public repository, or have your coding agent call check_code with your manifest or lockfile over MCP. The API reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

Put your code on continuous management.
Scan a public repository now, or give your agent one line.
See how out of date your code is.
Tell your agent what changed since it was trained.
claude mcp add --transport http since https://api.since.dev/mcp