Yappy configuration

Yappy reads ~/.yappy/config.json, created on first run with 0600 permissions. Everything in it is also reachable from Settings… in the menubar; the file is there for people who would rather edit text.

A representative config

{
  "llm": { "provider": "hosted", "model": "" },
  "claudeBin": "/opt/homebrew/bin/claude",
  "pushToTalk": "rightOption",
  "language": "en",
  "handsFreeEnabled": true,
  "enableScreenContext": true,
  "injectionStyle": "paste",
  "typingWordDelayMs": 45,
  "autoUpdate": true,
  "shareUsageAnalytics": true,
  "agent": { "enabled": true, "key": "rightCommand", "model": "sonnet" }
}

Keys

KeyTypeDefaultWhat it does
llm.providerstringhostedWhich model cleans up the transcript. See backends.
llm.modelstring""Empty means the provider's default model.
claudeBinstring/opt/homebrew/bin/claudePath to the claude CLI. Auto-corrected at launch if it lives elsewhere.
pushToTalkstringrightOptionDictation key. Modifier names, or mouse3, mouse4, and friends.
languagestringenDictation language. "auto" detects per utterance; pinning is more accurate.
handsFreeEnabledbooltrueDouble-tap the key to lock recording on.
enableScreenContextbooltrueOn-device OCR of the frontmost window for disambiguation.
injectionStylestringpaste"type" reveals the finished text one word at a time. Cosmetic and slower.
typingWordDelayMsnumber45Per-word pause when injectionStyle is "type".
whisperModelstringbundledAbsolute path to a ggml-*.bin model to use instead of the default.
autoUpdatebooltrueCheck the signed appcast and update in place. Team-ID verified.
shareUsageAnalyticsbooltrueAnonymous product analytics. Never transcripts, audio, or screen contents.
agent.enabledbooltrueWhether the Right ⌘ key starts an agent session at all.
agent.keystringrightCommandThe Agent Mode key.
agent.modelstringsonnetFamily alias; resolves to the newest model in that family.

Upgrading the transcription model

WHISPER_MODEL=large-v3-turbo ./scripts/setup.sh

then:

{ "whisperModel": "~/.yappy/models/ggml-large-v3-turbo.bin" }

large-v3-turbo is a clear accuracy win on Apple Silicon and still fast enough to feel instant.

After editing

Yappy picks up most changes on save. Hotkey changes (pushToTalk, agent.key) and whisperModel take effect on relaunch, because the key tap and the model are both established at startup.

If the file is malformed

A JSON syntax error makes Yappy fall back to defaults rather than refusing to start, and it says so in the menubar. Fix the file and relaunch.

Reading this as an agent? The same page in markdown: /docs/configuration.md · machine index: /llms.txt · API: /openapi.json · MCP: https://yappy.biz/mcp