All specs
Interactive · toggle

Toggle

An interactive boolean on/off switch.

Anatomy

^ Enable dark mode  ● on

space toggle · ↵ confirm · esc cancel

When off:

^ Enable dark mode  ○ off

After submit:

^ Enable dark mode: on

Usage

const darkMode = await toggle({
  label: 'Enable dark mode',
  defaultValue: false,
})

if (darkMode === true) { /* ... */ }

Options

KeyTypeDefaultDescription
labelstringToggle label
defaultValueboolean?falseInitial state
onLabelstring?'on'Label for on state
offLabelstring?'off'Label for off state

Keyboard

KeyAction
spaceToggle value
Toggle value
Confirm
escCancel → null

Do & don't

Do — use for boolean settings inside interactive flows

Don't — use for yes/no questions (use prompt.confirm); don't use in static output

Out of scope

Tri-state (on/off/indeterminate)

Groups of toggles (compose yourself or use form)