notes list, not list-notes) — same convention as gh, kubectl, aws, stripe.
Global flags
Notes
notes get’s markdown output shows the enhanced note when one exists, matching the desktop app. The raw fields are always available via --format json (content, enhanced_content). Pass --transcript to output only the note’s transcript — as speaker-labeled markdown, or as { "transcript": "..." } with --format json.
Folders
Transcriptions
--format text returns the plain transcript body. SRT and VTT subtitle formats aren’t currently exposed by the CLI — use --format json and post-process the segment data if you need timestamped subtitles.
Audio
--remote exits with a “not supported” error.
Transcribe
@openwhispr/cli 0.3.0 or later. Backend selection is the usual auto/--local/--remote, and the two backends behave quite differently here:
- Local (desktop app running) — transcribes on your machine with whatever local model the app is set to use. Free, no file-size cap, and the audio never leaves the machine.
--model <id>overrides the app’s choice; the model has to be downloaded in the app already, and if you get the name wrong the CLI lists the ones available. - Remote (
--remote, or no desktop app) — sends the file to OpenWhispr Cloud. Needs a Pro or Business plan and a key with thetranscriptions:writescope. Files over 4 MB are split into 4-minute chunks client-side before upload, which requiresffmpegon yourPATH.
Dictionary
add and remove take one or more words; quote anything with a space. Removal is by word, not id.
dictionary:read and dictionary:write scopes — see Dictionary and snippets.
Snippets
add takes exactly one trigger and one replacement; remove takes one or more triggers.
snippets:read and snippets:write scopes.