Skip to main content

Troubleshooting

When something misbehaves, this page is the fastest path back to dictating. Problems are grouped by area — jump to the one that matches, or start with the built-in self-test, which diagnoses most issues in under a minute.

Start here — run the diagnostics self-test

The desktop app has a one-click Diagnostics Report with an optional live voice test. It checks your audio device, capture, VAD, noise suppression, and (if enabled) the wake-word engine, then reads back a fixed sentence so you can see exactly what InkSpoke heard. Open Settings → Account → Send Diagnostic Report. See History & diagnostics for a full walkthrough. The report contains no transcripts or file contents — only technical state.


Text didn't get injected

The last step of dictation is typing the finished text where your cursor was. If that doesn't happen, one of these is almost always the reason.

The overlay showed "No text field detected" with a Copy button

This is a safety net, not a failure. If, at the moment InkSpoke tried to type, the focused element couldn't accept text — you'd clicked onto the desktop, a Finder window, a button, or a non-text control — InkSpoke shows your full transcript with a Copy button instead of typing it somewhere wrong. Click Copy (you'll see a "Copied!" confirmation) and paste it wherever you meant to. Your words are never lost. Next time, make sure your cursor is blinking in a real text field before you finish dictating.

Nothing types in my terminal or code editor

InkSpoke's default Text Injection Mode is Auto, which is usually the right choice: it types into terminals and code editors character-by-character (so your clipboard is preserved) and paste-injects everywhere else. If characters still drop or nothing appears, force the slower, more compatible method: Settings → Configuration → General → Text Injection Mode → SendKeys. You can also change it on the fly from the tray icon's Text Injection Mode submenu.

ModeWhen to use it
Auto (default)Leave it here — picks the best method per app automatically.
ClipboardFastest; pastes via the clipboard. Best for standard editors and chat boxes.
SendKeysTypes each character. Use for terminals, remote sessions, and apps that reject pasted text.

See Text injection for the full breakdown.

Nothing types over Remote Desktop (RDP)

InkSpoke detects Microsoft Remote Desktop and automatically switches to injection primitives that survive the remote keyboard pipeline, so this should just work. If line breaks land in the wrong place inside the remote app, adjust Settings → Configuration → General → RDP Newline Mode (default Shift+Return, a universal soft break). Try Return or Text if the remote app handles newlines differently. Because InkSpoke can't inspect the remote field, the "No text field detected" check is skipped for RDP — the text is sent regardless.

An app or game refuses dictated text

Some apps and games reject synthetic Unicode input. Set Text Injection Mode to SendKeys, which types real per-character keystrokes. For voice commands specifically, the equivalent switch is Hands-Free → Voice Commands → SendKeys injection mode → Keystroke Simulation (see Voice commands).

My text landed somewhere else after I changed windows

If focus moved before InkSpoke finished, the text may have gone to the wrong app. Your transcript is still in History. If you use the wake word, the built-in "insert last item" voice command re-types your most recent dictation into the field you're now in — handy for recovering a missed injection. See Favorites & vocabulary.

Did dictation overwrite my clipboard?

No. When InkSpoke pastes text, it backs up your existing clipboard, uses it briefly, then restores it — and it only restores if the dictated text is still there, so anything you copied by hand in the meantime is never clobbered. The dictated text is also kept out of Windows Clipboard History.

How do I stop InkSpoke mid-type?

While text is being typed slowly (in a terminal or over RDP), press Esc — or, if you use the wake word, say your cancel phrase — to abort the rest of the keystrokes. Already-typed characters stay, and you'll see a "Typing stopped" notice.


Microphone and permissions

The microphone isn't picking up my voice

  1. Grant microphone access. InkSpoke asks during onboarding, but if you skipped it, allow microphone access in your operating system's privacy settings, then relaunch.
  2. Check the input device. Open Settings → Configuration → Audio and confirm the correct Microphone is selected. Click Refresh if you just plugged one in. You can also switch the active mic from the tray icon's Microphone submenu.
  3. Run the voice self-test (see the tip at the top) — it names the active input device and shows the live waveform so you can confirm audio is reaching InkSpoke.

InkSpoke is using the wrong microphone

Pick the right one in Settings → Configuration → Audio → Microphone, or radio-select it from the tray Microphone submenu. Both write the same setting.

My microphone is very quiet

InkSpoke auto-calibrates gain for quiet mics automatically — you don't need to configure anything. For deliberately soft speaking (open office, sleeping partner nearby), turn on Whisper Mode in Settings → Configuration → Audio. It lowers the speech-detection threshold, boosts gain, and raises decoding accuracy for low-energy audio.

Background noise is bleeding into my transcripts

Noise suppression (DeepFilterNet) is on by default and removes fans, typing, and ambient chatter. It requires its own downloadable model — if you disabled it or the model isn't installed, re-enable Noise Suppression in Settings → Configuration → Audio.

Command Mode can't grab my selected text

Command Mode (default hotkey Alt+Shift+C, or ++C on macOS) needs to read your current selection. On macOS this requires Accessibility permission — grant it in System Settings, or re-run onboarding from Settings → Configuration → General → Rerun Onboarding. On Windows no extra permission is needed (it uses UI Automation). More in Command Mode.


Models and downloads

A model download failed or is stuck

Downloads stream with a progress bar and verify integrity after finishing; a failed one can simply be retried from the same card.

  • Speech and LLM models live under Settings → AI Models → On-Device. New users start on the free Whisper Small model; larger on-device models require Pro.
  • Speaker (diarization) models for meetings download from Settings → Configuration → Recordings & Meetings → Speakers → Download diarization model.
  • Noise suppression needs its DeepFilterNet model before it can run.

If a download won't complete, check your connection and free disk space, then retry. You can point InkSpoke at a different models folder in Settings → Configuration → General → Storage paths.

Which speech model am I on, and can I get a better one?

By default you're on Whisper Small — fully on-device, offline, and free. Pro and Perpetual users can download larger, more accurate on-device models, or connect a cloud/BYOK provider. See Models and providers and Choosing your models.


Dictation accuracy

Transcription is inaccurate — how do I improve it?

Work through these in order; most people fix it with the first two:

  1. Add your vocabulary. Names, jargon, and product terms recognize far better once you add them to a workspace or your personal dictionary. See Personal context and dictionaries.
  2. Pin the right language. If you dictate in one language, set it explicitly on the overlay instead of relying on auto-detect (see below).
  3. Turn on Whisper Mode if you speak softly, and confirm Noise Suppression is on.
  4. Use a bigger model. On Pro, download a larger on-device Whisper model (or use a cloud model) from Settings → AI Models → On-Device.
  5. Check your gain with the voice self-test — a flat waveform means the mic isn't being heard.

It keeps guessing the wrong language

Auto-detect is on by default. To force a language, open the language picker on the listening overlay and choose it (or cycle with the arrow keys), then keep that choice as your default. Details in Dictation modes and languages.


Wake word and hands-free

Saying the wake word doesn't start dictation

  1. Enable it. Settings → Hands-Free → Wake Word → Enable Wake Word. The first time, you'll be asked to download the offline wake-word model.
  2. Speak English. The wake-word engine is English-only. It listens for your chosen name (default "annika"), "thank you annika" to finish, and "cancel annika" to abort.
  3. Raise the sensitivity. Wake Word → Detection Sensitivity. It ships on Very High; if it still misses you, that's already the most eager setting — try adding a greeting prefix ("Hey") to your wake name for more reliable single-word triggering.
  4. Check the schedule. If you enabled a Schedule, the listener is inactive outside your configured hours. Confirm the summary line covers the current time.
  5. Check auto-disable. Sleep Auto-Disable is on by default (listening stops when the screen locks or the machine sleeps). If you turned on Idle Auto-Disable, activity resumes it.

Full setup in Wake word setup.

The wake word stops working when I play music

That's intentional. Pause on Music Playback (on by default) pauses the wake-word listener when your OS reports active media and that music is bleeding into your mic — it prevents song lyrics from triggering false activations. It does not pause your music player. When playback stops (or with headphones, where nothing reaches the mic), listening resumes. Turn it off under Hands-Free → Wake Word if you'd rather keep listening through music.

My voice commands don't do anything

Voice commands ("annika action open slack") require a Pro or Perpetual plan, and they must be turned on separately: Settings → Hands-Free → Voice Commands → enable Voice Commands (the wake word must be on too). Free users can create and edit mappings, but they won't fire. See Voice commands.


Meetings and transcription

The meeting recorded my voice but not the other participants

Participant audio comes from your computer's system-audio loopback, which needs permission:

  • macOS requires Screen Recording permission. Open Settings → Configuration → Recordings & Meetings → System Audio — if it says "Needs permission," click Grant Screen Recording…, then restart the meeting.
  • Windows and Linux have no such gate; system audio is captured automatically.

If loopback isn't available or is denied, the meeting still records — but microphone-only, and the meeting HUD shows a warning banner. The System Audio card in settings tells you whether capture is Available, needs permission, or isn't supported on your device. More in Record a meeting.

Can I transcribe a meeting in the cloud?

Not yet — live meeting transcription runs on-device (Local) only; cloud transcription for meetings is coming soon. If you need a cloud model with automatic speaker detection, use file import instead: record or export the audio, then transcribe it via Transcribe a file, where a cloud diarization option appears when you have a capable model configured.

A meeting failed or I want to run it again

Turn on Keep recorded audio (Settings → Configuration → Recordings & Meetings → Storage) before recording so the audio is saved alongside the transcript — it's stored before transcription even runs, so a processing failure never costs you the recording. To get a transcript from saved or exported audio, bring it back through Transcribe a File… (tray menu or the History page). See Speakers and the transcript viewer.


Sync and pairing

Desktop and iOS won't pair

Pairing links your phone to your desktop over the local network — both devices must be on the same Wi-Fi.

  1. On the desktop, enable Settings → Configuration → Intranet Sync → Enable, then click Pair New Device to show the QR code.
  2. On iOS, open Settings → Desktop Sync → Scan QR Code and scan it. Grant the camera and local-network permissions when asked.

Paired devices appear on both sides; use Revoke (desktop) or Unpair (iOS) to remove one. Walkthrough: Syncing mobile with desktop.

Pairing on Android doesn't complete

Android desktop pairing is coming soon

On Android, desktop discovery works, but completing QR pairing isn't available yet — the camera scanner is still being wired up. For now, pair your desktop with iOS, or manage workspaces on the desktop app. Related: the Android Sign In button and trial UI are also not active in the current build, and the Android keyboard is voice-only (its toolbar language and workspace pickers aren't wired yet). See Set up InkSpoke on Android.

Cloud sync isn't syncing

Cloud sync is a privacy-first opt-in and requires you to be signed in. Enable it under Settings → Account → Cloud Sync after signing in from the same page. Your workspace and dictionary content is end-to-end encrypted, so the servers can't read it. You can view or delete your encrypted synced data from the web account — Synced data and privacy.


Mobile keyboards

The iOS keyboard opens the main app when I tap "Start"

That's expected. An iOS keyboard extension can't record audio itself, so tapping Start briefly launches the InkSpoke app to capture your voice, then injects the result back at your cursor. Follow the on-screen "switch back" hint to return to your app. This requires Allow Full Access to be enabled for the InkSpoke keyboard.

The InkSpoke keyboard isn't available or does nothing

  • iOS: Add it in iOS Settings → General → Keyboard → Keyboards → Add New Keyboard → InkSpoke, then tap InkSpoke and enable Allow Full Access. See The InkSpoke keyboard.
  • Android: Enable it in Android Settings → System → Languages & input → On-screen keyboards, then grant microphone permission. It's a voice toolbar (mic button), not a typing keyboard. See The voice keyboard.

AI refinement

My text isn't being polished or refined

Check these three switches, in order:

  1. The master switch. Settings → Configuration → General → AI Refinement must be on. When it's off, nothing is ever refined and the listening overlay shows "AI refinement off." You can toggle it quickly with Alt+Shift+R (++R on macOS).
  2. The workspace. A workspace can turn refinement off for itself — and a "Voice-to-Text Only" workspace intentionally disables it. Check the active workspace's setting.
  3. The model. Refinement needs a text-processing model selected in Settings → AI Models → Global Defaults. On mobile, note that iOS has no on-device LLM — refinement there runs via a Platform (cloud) or BYOK model only.

Background in How refinement works.

Refinement worked earlier but stopped

If the overlay shows a daily-limit note, you've reached your allowance. InkSpoke's free Pro trial gives you access to refinement within an audio allowance — once that's used, cloud refinement pauses until you upgrade or your allowance resets. On-device dictation keeps working regardless. See The free trial and Usage and limits.


Still stuck?

If none of the above helps, send a diagnostics report so the team can see what your setup looks like: Settings → Account → Send Diagnostic Report. The bundle includes your audio-device and system configuration plus recent technical logs — no transcripts, no file contents, no personal data — and you'll get a reference ID to quote. The optional voice and wake-word self-tests inside the same dialog are the quickest way to confirm your microphone and recognition are healthy.


Next steps