Auto-paste
How Ditto delivers your transcription into the active app, what to do when it doesn't work, and how to use clipboard-only mode instead.
How it works
After Whisper finishes transcribing, Ditto does three things in this order:
- Copy the text to the clipboard using Electron’s clipboard API.
- Wait 50 ms so any app currently watching the clipboard has time to register the new content.
- Simulate Ctrl+V with @nut-tree-fork/nut-js, which sends a real
SendInputkeystroke to the OS. The active app receives it as if you’d pressed Ctrl+V yourself.
There’s no special integration with each target app. Ditto just types Ctrl+V into whatever has focus, the same way you would.
Turning auto-paste off
By default Ditto pastes for you. You can switch it off in Settings → General → Paste transcription automatically.
When auto-paste is off:
- Your transcription is copied to the clipboard.
- The pill briefly shows a check icon and the word “Copied!”.
- You paste manually with Ctrl+V.
This is useful if you want to:
- Review the text before pasting.
- Paste into a place Ctrl+V doesn’t work (some terminals, RDP sessions, certain games).
- Use Ditto as a voice-to-clipboard tool only, without it touching your active app.
Keeping your previous clipboard
By default, every transcription overwrites whatever was on your clipboard. That’s annoying if you had something important copied before dictating.
Settings → General → Keep previous clipboard changes the flow:
- Ditto snapshots your current clipboard text.
- Sets the transcription, simulates Ctrl+V.
- Restores the original clipboard text afterward.
So after the paste, your old clipboard content is back where it was.
When auto-paste doesn’t land
A handful of apps don’t accept simulated keystrokes:
- Remote Desktop / RDP sessions can block synthesized input as a security measure.
- Some games filter input that doesn’t come from a human keyboard.
- Hardened sandboxes (some Electron apps with strict permissions, certain banking sites in browser kiosks) may also reject it.
The transcription is still on your clipboard — it just doesn’t paste itself. Press Ctrl+V manually, or use the dedicated paste gesture of the app (some terminals use Ctrl+Shift+V or right-click).
If Ctrl+V also doesn’t work in that app (some terminals, vim in raw mode), you’ll need to paste through the app’s own mechanism (Ctrl+Shift+V in vim, right-click + Paste, etc.). Ditto can’t help past that point.
Sound feedback
Auto-paste happens fast and silently. If you’d like a small audible cue when transcription finishes, turn on Settings → General → Sound when transcription finishes. It plays a short, soft click — easy to ignore if you’ve got music on but useful in a quiet room.