preferences
Voice Mode keeps a single flat markdown file at
~/.config/voicemode/preferences.md that you can read and append to.
This is the user’s personal-memory surface — short, durable facts
that should shape your behavior across turns.
Two tools work the file:
read_preferences— return the whole file.remember_preference— append a single line.
When to read
Section titled “When to read”Call read_preferences at the start of any turn where personalization
matters: drafting on the user’s behalf, addressing other people,
naming files, choosing tone, picking defaults. Cheap call — the file
caps at 32 KB.
When to remember
Section titled “When to remember”Call remember_preference when the user says something stable about
themselves:
- “Remember that I sign emails ‘thanks, Mike’.”
- “From now on, default to terse responses.”
- “My team is Anna, Ben, and Cara.”
- “I prefer kebab-case for filenames.”
Don’t remember:
- One-off context that only matters this turn (“today I’m working on X”).
- Ephemeral state (what file is open, where the cursor is).
- Anything the user can already derive from the codebase, the
conversation, or a
read_*tool.
Format
Section titled “Format”The file is plain markdown. Each remember_preference call adds a
single - note here line. The user can edit the file directly any
time — open
~/.config/voicemode/preferences.md in any editor.
Limits
Section titled “Limits”- 1 KB per appended note.
- 32 KB whole-file cap. When full,
remember_preferencereturns an error; ask the user to prune the file.
Privacy
Section titled “Privacy”The file lives entirely on the user’s machine. Voice Mode never uploads it. It’s readable by anything running under the user’s account — treat it like any other dotfile, not a secrets store.