Superwhisper
Superwhisper
Aug 12

Transcripts cluttering up my clipboard history

I'm using Alfred as my clipboard history manager and it has the ability to exclude apps, but because SuperWhisper is grabbing the app that I have active, that exclusionary process doesn't work. So, my clipboard history is pretty muddled with all of my transcripts. This means, when I'm actually looking to refer back to things that I've copied and pasted, I just see a lot of snippets. So any way that we could exclude transcripts from clipboard history would be awesome and if I need to repaste something, I can always go into SuperWhisper history. BUT I love the tool so thanks!
PendingPending

Mar 26, 2026

I also have this problem. I use a clipboard manager for Mac called Paste. I can see a couple paths towards to remedy this from superwhisper: The most obvious to me would be for superwhisper to conform to the unofficial, but widely adopted nspasteboard standard documented here: https://nspasteboard.org/ Others have mentioned this, but I figured I'd add the link to the conversation. A separate idea is that many clipboard manager apps will allow you to ignore content coming from a specific application. Currently, superwhisper's clipboard copies come from whichever application you are currently using, not superwhisper itself, so this cannot work presently.

Feb 8, 2026

A quick update on this one, as a workaround - I was able to get Hammerspoon to pause the clipboard when the window was open, and then start it again when it closed. Caveats: - don't show the window in the dock (the hs.window.allWindows() will detect it) - use the classic pop up - I couldn't seem to get this to work with the - as long as you have the popup open afterwards it will still disable your clipboard. I'm not sure whether Raycast and Alfred have this particular option - you have to be able to have a hotkey to pause clipboard history. Not sure how good the formatting of code is here but here is what I used (95% generated by chatgpt, but has been kind of checked and tried): -- Pause Copy 'Em while Superwhisper's recording popup (AXSystemDialog) is visible -- ====== CONFIG ====== local SW_APP_NAME = "superwhisper" -- use EXACT string you saw in the window dump local SW_ROLE = "AXWindow" local SW_SUBROLE = "AXSystemDialog" -- Popup size (we'll match with tolerance) -- Ignore this for now - not needed. If you want to have the superwhisper actual window open though, then this script -- will detect that too. local SW_W, SW_H = 429, 122 local SIZE_TOL = 20 -- pixels of tolerance -- Polling interval (seconds) local POLL_EVERY = 0.20 -- Copy 'Em pause/resume shortcuts (must match your Copy 'Em global shortcuts) -- These appear to be just a single toggle option now local COPYEM_PAUSE_MODS, COPYEM_PAUSE_KEY = {"ctrl","alt","cmd"}, "p" local COPYEM_RESUME_MODS, COPYEM_RESUME_KEY = {"ctrl","alt","cmd"}, "p" -- Debounce to avoid flapping local RESUME_DELAY = 0.40 -- Logging / notifications local SHOW_NOTIFICATIONS = true -- ==================== local log = hs.logger.new("sw-clip", "info") local resumeTimer = nil local pausedByScript = false local function notify(title, text) if SHOW_NOTIFICATIONS then hs.notify.new({title = title, informativeText = text}):send() end end local function pauseCopyEm() if pausedByScript then return end pausedByScript = true log.i("Pausing Copy 'Em (Superwhisper popup detected)") hs.eventtap.keyStroke(COPYEM_PAUSE_MODS, COPYEM_PAUSE_KEY, 0) notify("Copy 'Em", "Paused (Superwhisper recording)") end local function resumeCopyEm() if not pausedByScript then return end pausedByScript = false log.i("Resuming Copy 'Em (Superwhisper popup gone)") hs.eventtap.keyStroke(COPYEM_RESUME_MODS, COPYEM_RESUME_KEY, 0) notify("Copy 'Em", "Resumed") end local function scheduleResume() if resumeTimer then resumeTimer:stop() resumeTimer = nil end resumeTimer = hs.timer.doAfter(RESUME_DELAY, resumeCopyEm) end local function approx(a, b, tol) return math.abs(a - b) <= tol end -- Returns true if the Superwhisper recording popup is currently present local function superwhisperPopupPresent() for _, w in ipairs(hs.window.allWindows()) do local app = w:application() local appName = app and app:name() or "" if appName == SW_APP_NAME then local role = w:role() or "" local subrole = w:subrole() or "" if role == SW_ROLE and subrole == SW_SUBROLE then local f = w:frame() -- if approx(f.w, SW_W, SIZE_TOL) and approx(f.h, SW_H, SIZE_TOL) then -- -- Title is empty in your dump; we don’t require it, but could: -- -- if (w:title() or "") == "" then ... log.i("Popup present") return true end end end return false end -- Poll loop -- This effectively checks whether the superwhisper window has opened in this last loop of the poll timer. local lastState = false swPollTimer = hs.timer.doEvery(POLL_EVERY, function() local present = superwhisperPopupPresent() if present and not lastState then -- Popup just appeared -> pause immediately if resumeTimer then resumeTimer:stop(); resumeTimer = nil end pauseCopyEm() elseif (not present) and lastState then -- Popup just disappeared -> resume after short delay scheduleResume() end lastState = present end) notify("Hammerspoon", "Superwhisper popup watcher loaded") log.i("Superwhisper popup watcher loaded")

Feb 8, 2026

I have this problem using a clipboard manager called "copy 'em" as well. It too has an option to "ignore copies marked as private". I'm not sure whether that means an application specific clipboard or marking the content as autogenerated.

Jan 7, 2026

1000% this. I just set up superwhisper today and this is the first thing I noticed. I use my clipboard history extensively. I was really counting on all these voice snippets not being part of my clipboard history. T_____T I have a suggested solution. Alfred has a setting to ignore any clipboard data marked as "Auto Generated". Apps can mark data as org.nspasteboard.AutoGenerated if it has been automatically placed in the clipboard without user intent. So, if superwhisper added a toggle under "advanced" to mark the text with that type, Alfred's clipboard history won't be filled up with superwhisper text transcriptions!

Aug 29, 2025

agreed 100%, having the same problem with Raycast

Aug 12, 2025

WhisprFlow figured this out somehow... https://roadmap.wisprflow.ai/changelog/your-thoughts-now-org….