Settings reference
Preferences live in settings.json in the data folder. The app writes it; you may edit it while the app is closed. Secrets are never in this file: provider API keys are in the operating-system keychain and the local API token is in its own file.
{
"detection": { "enabled": true, "mic_in_use": true, "apps": true, "calendar": true, "extension": true, "ics_urls": [], "macos_calendar": true, "window_titles": true, "auto_stop": true, "auto_stop_grace_s": 20, "auto_record_apps": [] },
"prompt": { "auto_dismiss_s": 45, "snooze_min": 10, "sound": true, "cooldown_min": 30, "notify_when_ready": true, "position": "top-right", "size": "regular", "start_minimised": false, "title_field": true, "snooze_menu": true, "pill": true, "pill_timer": true, "pill_size": "regular", "wait_for_answer": false, "instant_manual": false },
"capture": { "mic_device": null, "system_audio": true, "denoise": true, "keep_audio": "30d" },
"transcription": { "model": "large-v3-turbo-q5_0", "language": "auto", "live": true, "vad": true, "threads": 0, "translate_to_english": false, "starter_model": null },
"ai": { "provider": "builtin", "builtin_model": "", "model": "qwen3:4b-instruct", "ollama_url": "http://127.0.0.1:11434", "openai_base": null, "auto_notes": true, "default_template": "general", "auto_title": true },
"hotkeys": { "toggle": "CmdOrCtrl+Shift+R", "marker": "CmdOrCtrl+Shift+M" },
"privacy": { "export_dir": null, "auto_export_md": false, "retention_days": 0 },
"general": { "launch_at_login": true, "theme": "system", "allow_remote_start": false, "show_dock_icon": false, "check_updates": true, "skipped_version": "" }
}
The file also holds detection.app_names, appearance choices, the accepted terms version and whether setup is finished.
The example shows the Mac. On Windows and Linux the marker shortcut is CmdOrCtrl+Alt+M (Ctrl+Shift+M mutes Teams), and window_titles starts as false: reading the meeting app’s window title is off until the person turns it on. Two keys, hotkeys.marker_chosen and detection.window_titles_chosen, record that the value is the person’s own, so an update never undoes it; leave them as they are.
Keys worth knowing
| Key | Meaning |
|---|---|
detection.auto_record_apps |
Apps allowed to record without the prompt. Empty by default; the app asks before adding one. |
detection.auto_stop_grace_s |
Seconds to wait after the meeting app releases the microphone before stopping. |
prompt.auto_dismiss_s |
How long the record card stays before dismissing itself, 10 to 600 seconds. With prompt.wait_for_answer set to true, the card shows no countdown and stays up for up to 3 hours, or for 30 minutes once it is shrunk to the one-line strip. |
prompt.snooze_min |
The Snooze for choice in the record card’s Snooze menu, in minutes (10 by default), offered next to 1 hour and until tomorrow. |
prompt.cooldown_min |
After you choose Not this one, minutes before the same app is asked again. |
capture.keep_audio |
forever, 90d, 30d, 7d or after_transcription. Every choice works on every plan. |
transcription.model |
A model id from Settings → Transcription, such as large-v3-turbo-q5_0, small or base.en. Other files in models/ are ignored. |
transcription.starter_model |
From version 0.3.11: until the model in transcription.model has finished downloading after setup, the smaller model that new recordings use in the meantime; otherwise null. The app sets it; leave it as it is. |
ai.provider |
builtin (the default), ollama, anthropic, openai or heuristic (no AI). Keys for anthropic and openai are stored in the keychain, not here. |
general.allow_remote_start |
Lets the local API, MCP and A2A start a recording or import a file. Off by default. |
Settings that are not in this file (speaker names, templates, meeting tags) are stored in the database.