Ending the dictation extension and desktop app conflict for good

End the dictation extension and desktop app conflict with a single owner. Two hotkeys fight over the mic, so give the global shortcut to the desktop app. Run the extension in click-only mode and keep clicking as its recording trigger.

Voiskey Voiskey Team
Duplicate Hotkey ContestSingle Mic OwnerClick-Only Mode

Two Claimants, One Microphone: How Duplicate Hotkeys Fight Over Audio

The browser extension and the desktop app are two separate programs, each with its own audio pipeline, and when both listen for the same global hotkey they enter a contest nobody declared. When you press the key, whichever process registered it last gets the event, and because the installation order of the two programs changes over time, the winner changes without any visible warning. One dictation extension and desktop app conflict therefore behaves like a coin flip with a memory: it works on Monday, swaps owners after you restart, and by Thursday the same key starts the other program entirely. The words still get typed, but through the other captive, and the microphone never hears who you thought you were talking to.

The fight is really over two resources at once. The first is the hotkey itself: a global shortcut can be claimed by exactly one process, and when two claim the same chord, the operating system resolves it by registration order, not by intent. The second is the microphone: even if both capture the key, the audio device can feed only one client at a time in most setups, so the loser listens into nothing and shows a healthy panel while the winner grabs the stream. This is why the symptom is so confusing, a button in the corner claiming it is recording while nothing appears in your document, and why checking the sound icon on the app you expect is often the fastest way to see who actually owns the session.

The deeper issue is duplicated state. Each install keeps its own vocabulary, its own recent history, and its own settings, so the two programs drift apart, and the fix for that is politeness: one dictation workflow, which also means one keyboard trigger, one audio owner, and one vocabulary to maintain. The practical question is never which program is better, but which behavior you can predict, because predictablity is what turns a frustrating tug of war into a tool you barely notice. Once you accept that one owner is the goal, the next step is a thirty-second test that tells you who owns your current key press.

The Ownership Test: Whose Indicator Lights When You Hold the Key

Run the ownership test before you change anything, because the answer determines the fix. Open a plain text editor, place the cursor in an empty line, and hold your dictation hotkey for two seconds. Then look at both programs: the extension, which shows a recording state in its toolbar, and the desktop app, which shows a listening indicator in its dock or tray. The one with the lit indicator is the current owner of that keystroke, and the one with a stale or blank state is being skipped by the system. Two seconds of observation tells you with certainty which claimant owns the microphone at this moment, which is information you simply did not have before the test.

Repeat the test after each of three events to map the ownership rules: right after a Chrome restart, right after the desktop app launches, and right after a full machine reboot. What you will almost always see is that ownership belongs to whichever program started later, because the hotkey registration in most operating systems is append-only, and a replacement registration wins until the other process starts again. This explains the intermittent nature of the problem perfectly: it is not random, it is ordered by launch time, and it only feels random because you do not control launch order with your hands. A predictable pattern is the first half of a cure.

Log the result in one line: date, machine state, owner. After a week you will be able to predict the owner before pressing the key, which is useful but not sufficient, because a predictable tug of war is still a drift in your workflow. The test's real payoff is that it gives you the evidence to make a decision: with the owner known, you can appoint one program permanently rather than continuing to guess. Most users find the desktop app wins on the big moments, after a restart, and the extension wins during the day, which is precisely the pattern a single-owner policy is designed to eliminate.

Appointing a Single Owner: Global Hotkey to the Desktop App

Appoint the desktop app as the single owner of the global hotkey, for three practical reasons. It can capture the key even when no browser window is open, it has the most forgiving audio pipeline across device changes, and it is the process that will own the microphone after almost every reboot, so matching the registration to the winner makes your setup align with its own default behavior. Open the desktop app's settings, find the global shortcut control, and note its current chord; then open the extension's shortcuts page in Chrome and either mirror the assignment or remove it, so only one process ever claims that chord. The microphone then belongs to the app by appointment, not by accident, and dictation works whether your browser has one tab or forty.

The second half of the appointment is giving the extension a complementary role with no audio at all. The extension still handles the browser-side decor, such as inserting text into the page and applying punctuation rules, but it should not be listening to the microphone when the desktop app is. Most dictation tools expose a way to switch the extension to a mode where dictation arrives from the app, and some offer an on-page capture button that starts a session owned by the desktop engine. This division of labor mirrors how hardware and software cooperate in every other tool: one mind, one mouth, several hands. If you cannot find the switch, the simple workable version is removing the extension's hotkey entirely and using its click-to-capture control instead.

Once the appointment is made, prove it with a clean-day test. Reboot the machine, open one browser window, and dictate into a page without touching any settings: the desktop app should light up and the extension should stay quiet, and the typed text should arrive with the extension's punctuation rules applied, which is the sign that the division is running correctly. If the app wins the key but the words fail to reach the page, the integration link between the two programs is broken, and the troubleshooting order is: restart the app, reload the extension, then check the integration switch. A working handoff means you now have one microphone, one hotkey, and one vocabulary, and the tug of war ends for good.

The Extension in Click-Only Mode: Same Dictation, Zero Contest

The extension's click-only mode is the most underused tool in this story. Designed for pages where global hotkeys are blocked or unreliable, such as dense editors and embedded frames, the on-page capture button starts a dictation session without any keystroke at all, which means the desktop app cannot compete with it for audio. In click-only mode, you click the small microphone control that floats near your cursor or sits in the extension toolbar, speak, and the words arrive in the focused field. The keyboard is no longer part of the equation, so the hotkey contest becomes irrelevant on those pages, and the two programs coexist without colliding, because their trigger channels are different: keypress for the app, click for the extension.

The trade-off is a second of mouse travel, and it is worth it wherever the competition is fiercest. Dense code review interfaces, note-taking apps with their own shortcut systems, and pages inside iframes are the classic spots where click capture outshines a contested key. Users who adopt the mode as a default for the top ten percent of their sites report a curious side effect: their hotkey press becomes more reliable on the other ninety percent, because the desktop app is no longer fighting a rival for every keystroke. A click-only extension also behaves better on shared machines, where the global shortcut may be claimed by another user's session, and on managed Chrome instances where background capture privileges are restricted.

Set the mode up once and forget it. Find the extension's option for capture behavior, choose the click-to-dictate setting, and keep the floating control enabled so it is always reachable; then run a three-site sanity check, a plain editor, a chat composer, and a code page, confirming that each start and stops cleanly through the click. The one thing to watch is double-capture: some users click the control while the desktop app is already listening, and two sessions then race for the same words, so make a habit of checking the app's indicator before clicking. With that one habit in place, click-only mode gives you a second microphone owner only when you want it, and never by accident.

When Coexistence Pays Off and When It Is Time to Uninstall One

Coexistence genuinely pays off for a specific user: the overlapping scenario where the desktop app covers offline work and applications that are not Chrome, such as Word, email clients, and system dialogs, while the extension covers browser pages with its rich integration. If you dictate into non-browser software as much as into web pages, keeping both with a single hotkey owner and a click-only extension is the correct architecture, because each program serves a surface the other cannot reach. The test for whether coexistence is earning its complexity is simple: in a normal day, does each program handle distinct work, or are both handling the same browser pages just from different angles? Distinct work is a reason to stay; duplicate work is a reason to trim.

The price of coexistence is drift, and drift shows up as two vocabularies and two recent-histories. Every term you teach the extension must also be added to the app, and every refinement you make in one is silently unlearned by the other, which is the most common reason users end up uninstalling one side even though both work. If the two programs share a backend or a sync mechanism, check it before you decide; if they do not, measure the cost in real terms, roughly one minute of double-maintenance per new term. For most people the breaking point is not feature coverage but vocabulary currency, because a misheard product name in a client message is a far worse outcome than a missing mode switch.

When you trim, keep the side that matches your dominant surface. Chrome-only workers will find the extension sufficient and remove the app, while desktop-heavy workers will keep the app and keep the extension only as a browser nicety, or remove it and use the app's own browser bridge. Uninstall the losing side using the wipe order from the privacy guide: export its vocabulary, clear its caches, then remove it, and merge its terms into the remaining program. After the trim, re-run the ownership test once, because the survivor now owns every press, and confirm with a three-day journal that your worst dictation day is better than the best day during the contest.

FAQ s

A global hotkey can be claimed by only one process, and whichever program registered it last wins. Since launch order varies, the owner changes over time, and the microphone follows the winner. The fix is appointing one owner, usually the desktop app, and switching the extension to click-only capture.

Open a plain editor, hold the dictation key, and watch both indicators. The program whose recording light turns on owns the keystroke right now. Repeat after a browser restart and after a reboot, and you will see the pattern: ownership belongs to the process that started most recently.

Yes, if you separate the trigger channels. Give the global hotkey to the desktop app, and use the extension's on-page capture button for browser pages. The keyboard and the mouse then each control one owner, so no keystroke contest can occur, and each program serves the surfaces the other cannot.

When both are handling the same browser pages and you are maintaining two vocabularies for no benefit. If one program is loaded at every startup and you still catch it duplicating the other's work, keep the one matching your dominant surface and remove the rest. Export the vocabulary from the losing side before uninstalling.

Say less. Get more
Say less. Get more
Say less. Get more
Say less. Get more
VoiskeyVoiskey

Your voice, amplified.

Give the hotkey to the app and the clicks to the extension.

Use it across macOS, Windows, iOS, and Android

Use it across