Windows prerelease

Private dictation on your Windows PC

Hold Right Alt, speak, and release. Presspeech transcribes on your PC and normally pastes into the window where you started; if it cannot verify that destination, it avoids automatic paste. A switch to another field or browser tab in the same window may still send text to the new focus without a recovery notice, so keep the starting field and tab selected until delivery finishes. Published 0.1.12 copies the result to the clipboard for manual paste. There is no account or cloud transcription.

Privacy decision for published Windows 0.1.12: model downloads may send Hugging Face usage telemetry or an available token. If you prefer to avoid this possible usage telemetry, are concerned that a Hugging Face token or custom download route may be configured on this PC, or are unsure, leave 0.1.12 unopened and wait for Windows 0.1.13 before use. If a TLS-inspecting HTTPS proxy is in use and its trust is unclear, don't launch while it is in use.

Why: during model downloads, its Hugging Face libraries may send default usage telemetry and include a token already available to this Windows account. Custom download routing can change where the model request—and a token it carries—goes. A TLS-inspecting HTTPS proxy trusted by the client can read any 0.1.12 token it receives. Upcoming 0.1.13 removes account-token authentication but still honors proxy and CA settings. The public models need no account token.

Downloading or installing is not launching: downloading the installer and checksum from GitHub or installing without opening Presspeech does not make a model request. A missing selected-model download starts when 0.1.12 launches; this build has no Set Up Later option to defer it. If you install 0.1.12 but choose to wait, leave Launch Presspeech unchecked on the installer’s final screen and do not open the app. This option starts checked by default, so clear it before choosing Finish. Dictation audio and transcripts are not sent in model downloads.

Already installed and waiting? The installer checkbox does not change an existing startup setting. Quit any running copy, then turn off Presspeech, if enabled, in Settings → Apps → Startup without opening it again. Check GitHub Releases in a browser for 0.1.13 rather than launching 0.1.12 to use its update check. Follow the new build's instructions before opening it; these steps cannot undo a model request already started.

Microphone on first launch: published 0.1.12 also checks the selected input automatically in first-run Setup, briefly opening it to measure the level. The samples stay in memory and are discarded; they are not saved, sent, or transcribed. Windows may show its microphone-use indicator. If you do not want even this local readiness check, leave 0.1.12 unopened; upcoming 0.1.13 waits for you to choose Check Microphone. See the first-launch steps.

Already used Windows 0.1.12? If a model download ran with a token available and an inherited HF_ENDPOINT or staging setting may have sent it to a destination you do not trust—or an untrusted TLS-inspecting HTTPS proxy could read the request—treat the token as disclosed to that destination or proxy. A proxy that only tunnels HTTPS cannot read the token. Revoke the token and create a replacement at Hugging Face Access Tokens; do not include token values in logs or support requests.

Technical details of Windows 0.1.12 model downloads

Privacy for published Windows 0.1.12: Hugging Face libraries’ default usage telemetry and implicit authentication remain enabled during model downloads. The libraries may send usage data to Hugging Face, and model-request metadata includes a random per-process session ID. Its pinned Hub 1.29.0 client may fetch /api/agent-harnesses when its local registry cache is missing or stale, and inherited agent-related environment markers may add an agent/<id> label to model-request metadata. An available HF_TOKEN, HUGGING_FACE_HUB_TOKEN, or token in the local Hugging Face cache may accompany a model request. This build also honors inherited HF_ENDPOINT and HUGGINGFACE_CO_STAGING settings, which can change the request destination; an available token may therefore go to that configured endpoint. If HF_HUB_USER_AGENT_ORIGIN is set, its value is added to request metadata. These models do not require an account token. Upcoming 0.1.13 fixes those inherited settings, disables Hub telemetry before imports, and checks that rendered headers contain no agent label; it is not yet published. Both published Windows 0.1.12 and upcoming Windows 0.1.13 use HTTPX 0.28.1 with the Hub client's default trust_env=True; it honors HTTP_PROXY, HTTPS_PROXY, ALL_PROXY, NO_PROXY, SSL_CERT_FILE, and SSL_CERT_DIR. A TLS-inspecting HTTPS proxy whose CA is trusted by the client can read request headers and any 0.1.12 token; a tunnelling proxy sees connection metadata, not request contents. Upcoming 0.1.13 still honors these proxy and CA settings. Published Windows 0.1.12 does not independently verify model-file contents against SHA-256. Upcoming Windows 0.1.13 verifies every allowed required and present optional inference file before model loading by checking it against its pinned SHA-256 manifest. On Windows, Presspeech rehashes the reviewed files on every load rather than trusting a metadata-only verification record; mismatches fail closed. This may lengthen model preparation. The proxy can still observe request metadata or block a download. Dictation audio and transcripts are not sent in model downloads; the exact telemetry fields are not independently itemised.

See the version-specific network-call inventory.

Current published Windows prerelease: 0.1.12. Install metadata updated .

Check your language before downloading. Fresh systems with usable NVIDIA CUDA select multilingual Parakeet (~2.5 GB). Without usable CUDA, the fresh CPU default is English-only Whisper base.en (~141 MiB). Published 0.1.12 starts the selected download on first launch; it has no pre-download deferral. Only upcoming 0.1.13 asks before fetching either missing first-run default model and offers Set Up Later to defer; its Parakeet path also offers the smaller CPU model. Other local models remain selectable in Settings. Compare the two first-run paths.

This prerelease is not code-signed. Windows may show Unknown publisher, and managed PCs or Windows 11 Smart App Control may block it. Microsoft documents that Smart App Control has no per-app exception. Verify that the download came from this repository and compare its SHA-256 checksum before deciding whether to run it. Never bypass a warning for a file from another source.

Before you download

Requirements, language, and download size

Before launching Windows 0.1.12: its first missing-model download starts on launch and may send Hugging Face usage telemetry or an available token; custom routing can change where a token goes, and a TLS-inspecting HTTPS proxy trusted by the client can read one. First-run Setup also briefly opens the selected microphone for an automatic local readiness check; samples are discarded, not saved or sent. If such a proxy is in use and its trust is unclear, do not launch while it is in use; upcoming 0.1.13 still honors proxy and CA settings. If you prefer to avoid possible telemetry, cannot rule out a token or custom route, or are unsure, wait until Windows 0.1.13 is published. Downloading the installer does not start the model request. If you install but wait, leave Launch Presspeech unchecked on the final installer screen. Read the full release-specific warning before deciding.

Windows 11A 64-bit x64 PC. Windows 10 remains compatible but needs Extended Security Updates or an edition that remains supported; Windows on Arm is not supported.
4.4 GB installedThe installer includes the Python and speech runtimes; Python is not required separately.
Multilingual with CUDAA fresh PC with usable NVIDIA CUDA selects Parakeet TDT v3, which lists 25 supported European languages. Its first model download is about 2.5 GB.
English-only CPU defaultWithout usable CUDA, a fresh PC selects English-only Whisper base.en and downloads about 141 MiB. Other local models remain selectable in Settings, with the larger options intended for a supported NVIDIA GPU.
Install safely

Download, verify, and run

Presspeech remains compatible with Windows 10 x64, but Microsoft ended general Windows 10 support on 14 October 2025. Prefer Windows 11, or use Windows 10 only with Extended Security Updates or an edition that remains supported.

  1. Download the current installer and checksum

    Get Presspeech-Setup-0.1.12-x64.exe and its published SHA-256 file from the same GitHub release.

  2. Verify SHA-256 automatically

    In PowerShell, run the commands below from your Downloads folder. They validate the checksum file, compare it with the installer, and stop with an error instead of reporting success if anything differs. This confirms the installer matches the checksum published alongside it; because both files come from the same release, the checksum alone does not independently authenticate the publisher or make an unsigned installer trusted. If you cannot decide to trust this release, stop here.

    $installer = '.\Presspeech-Setup-0.1.12-x64.exe'
    $parts = (Get-Content -LiteralPath "$installer.sha256" -Raw).Trim() -split '\s+'
    if ($parts.Count -ne 2 -or
        $parts[0] -notmatch '^[0-9a-fA-F]{64}$' -or
        $parts[1] -ne (Split-Path $installer -Leaf)) {
      throw 'The published checksum file is not valid. Do not run the installer.'
    }
    $actual = (Get-FileHash -LiteralPath $installer -Algorithm SHA256).Hash
    if ($actual -ne $parts[0]) {
      throw 'SHA-256 verification failed. Do not run the installer.'
    }
    "SHA-256 verified: $actual"
  3. Optionally verify the immutable release attestation

    If you already use an authenticated GitHub CLI, these commands additionally check that GitHub considers the release immutable and that your local installer matches its signed release attestation:

    $ErrorActionPreference = 'Stop'
    gh release verify windows-v0.1.12 --repo rcourtman/presspeech
    if ($LASTEXITCODE -ne 0) { throw 'Release attestation failed; do not run the installer.' }
    gh release verify-asset windows-v0.1.12 $installer --repo rcourtman/presspeech
    if ($LASTEXITCODE -ne 0) { throw 'Installer attestation failed; do not run the installer.' }
    'Release and installer attestations verified.'

    The success line appears only if both commands succeed. If either fails, stop: do not treat the installer as attested or run it until you resolve the failure. This provides stronger provenance evidence than the checksum file hosted beside it, but does not code-sign the installer or override Windows security policy.

  4. Run the installer

    The current build is unsigned. If Microsoft Defender SmartScreen shows Windows protected your PC, confirm the filename and verified hash before choosing More info → Run anyway. That choice applies to a SmartScreen reputation warning, not a Smart App Control block: Smart App Control has no per-app exception. If Smart App Control or your administrator blocks the installer, stop; do not disable protection or work around the block.

  5. Decide whether to launch 0.1.12

    If you chose to wait after reading the privacy decision, leave the installer’s final Launch Presspeech option unchecked and do not open the app. It starts checked by default: clear it before choosing Finish, or finishing setup launches 0.1.12. If you choose to use published 0.1.12 now, leave it checked to launch at Finish, or clear it and open Presspeech later from the Start Menu; a missing model starts downloading without another prompt. It installs for your user account under %LOCALAPPDATA%\Programs\Presspeech and appears in Settings → Apps → Installed apps for normal removal.

Why the warning? Microsoft explains that unsigned downloads start without publisher reputation; each new unsigned version may prompt again.

For shell-capable assistants

Install with a guarded prompt

This prompt pins the current Windows prerelease, checks the PC architecture, downloads only the versioned GitHub assets, validates the published SHA-256, and asks before launching the installer. It tells the assistant to stop rather than disable or work around Smart App Control, SmartScreen, or managed policy.

Show the Windows install prompt
Install Presspeech from https://github.com/rcourtman/presspeech on this Windows PC.

Before installing or launching published Windows 0.1.12, explain that its model downloads may send Hugging Face usage telemetry and an already-configured or locally saved Hugging Face token; custom download routing can change where a request—and any token it carries—goes. The bundled HTTP client also honors configured HTTPS proxies; a TLS-inspecting HTTPS proxy trusted by the client can read any 0.1.12 token it receives. Upcoming 0.1.13 removes account-token authentication but still honors proxy and CA settings. If the user cannot confirm that a TLS-inspection proxy is trusted, don't launch while it is in use. These public models need no account token. Offer to wait until Windows 0.1.13 is published if the user prefers to avoid this possible usage telemetry, is concerned that a Hugging Face token or custom download route may be configured on this PC, or is unsure. Downloading the installer and checksum from GitHub does not make a model request; 0.1.12 starts its selected model download when Presspeech launches. If the user chooses to wait but still wants to install, tell them to uncheck the installer's final "Launch Presspeech" option; do not start the app. Do not inspect or display token values, change credential settings, or launch 0.1.12 without the user's informed choice. Dictation audio and transcripts are not sent in model downloads. See https://rcourtman.github.io/presspeech/privacy.html#network-calls.

Use only the published Windows prerelease selected by Presspeech's deployed metadata and version-pinned install guide:
  https://rcourtman.github.io/presspeech/windows.html#download-verify-run

The source branch can contain a newer unreleased candidate, so do not infer a download version from windows/config.py, release notes, or other files on main. The deployed metadata stays on a version whose installer and checksum are both public. The installer is not code-signed. Explain that before downloading; SHA-256 verification confirms that the file matches the asset published in this repository, but it is not a publisher signature.

Run these read-only checks in PowerShell:
  [System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture
  (Get-CimInstance Win32_OperatingSystem).Caption

Stop if the architecture is not X64. Windows 11 is recommended. If this is Windows 10, explain that general support has ended and continue only if the user confirms the PC has Extended Security Updates or an edition that remains supported.

Before downloading, explain the language and hardware split: a fresh system with usable NVIDIA CUDA selects multilingual Parakeet (~2.5 GB), while a fresh system without usable CUDA selects English-only Whisper base.en on CPU (~141 MiB). Published Windows 0.1.12 starts the selected model download on first launch; Setup cannot defer it. Other local models remain selectable in Settings, but the multilingual alternatives are intended for a supported NVIDIA GPU. If the user needs a language other than English and does not have usable NVIDIA CUDA, show them https://rcourtman.github.io/presspeech/windows.html#language-support and ask whether they still want to continue.

Download the installer and its checksum from the same official release, then verify both the checksum-file shape and the installer hash:
  $ErrorActionPreference = 'Stop'
  $metadataUrl = 'https://rcourtman.github.io/presspeech/site-metadata.json'
  $metadata = Invoke-RestMethod -Uri $metadataUrl
  $version = [string]$metadata.windows_version
  if ($version -notmatch '^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$') {
    throw 'The published Windows version is not valid. Do not download anything.'
  }
  $base = "https://github.com/rcourtman/presspeech/releases/download/windows-v$version"
  $folder = Join-Path ([IO.Path]::GetTempPath()) "Presspeech-$version"
  New-Item -ItemType Directory -Force -Path $folder | Out-Null
  $installer = Join-Path $folder "Presspeech-Setup-$version-x64.exe"
  Invoke-WebRequest "$base/Presspeech-Setup-$version-x64.exe" -OutFile $installer
  Invoke-WebRequest "$base/Presspeech-Setup-$version-x64.exe.sha256" -OutFile "$installer.sha256"
  $parts = (Get-Content -LiteralPath "$installer.sha256" -Raw).Trim() -split '\s+'
  if ($parts.Count -ne 2 -or
      $parts[0] -notmatch '^[0-9a-fA-F]{64}$' -or
      $parts[1] -ne (Split-Path $installer -Leaf)) {
    throw 'The published checksum file is not valid. Do not run the installer.'
  }
  $actual = (Get-FileHash -LiteralPath $installer -Algorithm SHA256).Hash
  if ($actual -ne $parts[0]) {
    throw 'SHA-256 verification failed. Do not run the installer.'
  }
  "SHA-256 verified: $actual"

If GitHub CLI is already installed and the user is already signed in, offer an optional provenance check. Run it only with the user's approval; do not inspect or display credentials, install GitHub CLI, or sign in for this check:
  $tag = "windows-v$version"
  gh release verify $tag --repo rcourtman/presspeech
  if ($LASTEXITCODE -ne 0) {
    throw 'Release attestation verification failed; do not run the installer.'
  }
  gh release verify-asset $tag $installer --repo rcourtman/presspeech
  if ($LASTEXITCODE -ne 0) {
    throw 'Installer attestation verification failed; do not run the installer.'
  }
This checks the immutable release and the installer's signed GitHub release attestation. It is stronger provenance evidence than the checksum served beside the installer, but it does not code-sign the installer or prove the program is safe. If the user agrees to the check and either command fails, stop; do not run the installer. If the user declines or gh is unavailable, say clearly that provenance was not verified; do not claim otherwise. Let the user decide whether the repository source and matching checksum are enough, and never launch without explicit confirmation.

Before opening the installer, warn that its final "Launch Presspeech" checkbox starts checked. If the user wants to wait, they must clear it before choosing Finish; otherwise Finish launches the app and can start the model request. Consent to install is not consent to launch.

Once the checksum succeeds and any requested attestation check also succeeds—or the user explicitly chooses checksum-only trust—show the user the installer path and verified hash. Ask for explicit confirmation before launching it with:
  Start-Process -FilePath $installer

Do not automate a security-warning choice. If Microsoft Defender SmartScreen offers More info → Run anyway, the user must decide whether to proceed after checking the source and hash. If Windows 11 Smart App Control or managed policy blocks the unsigned installer without an override, stop; do not try to circumvent that policy.

After the user completes the installer, launch Presspeech from the Start Menu only if they chose not to wait and explicitly confirmed launching 0.1.12. If they chose to wait, leave the app unopened and make sure the installer's final "Launch Presspeech" option was unchecked. Explain that first launch may download a local model (about 141 MiB on a fresh CPU-only PC or about 2.5 GB with usable NVIDIA CUDA; an incomplete cache may need less). In published 0.1.12, the model download starts automatically on first launch, so make sure the user understands the size before launching. Published 0.1.12 also checks the microphone automatically during Setup and when its selection changes; its retry button is Check Again, not Check Microphone. Before choosing Finish Setup, Set Up Later, or closing Setup, explain that a new 0.1.12 profile selects Start with Windows by default and ask whether to turn it off. Published 0.1.12 offers Press to toggle in Settings, not Setup. If the user chooses Set Up Later, leave setup incomplete; in 0.1.12 this does not defer an already-started model download. Otherwise, finish Setup before testing the configured hotkey. Right Alt is the default; choose F8 or another available key if Right Alt acts as AltGr. Use Try Dictation for the first in-app test; explain that the scratchpad can still use the system clipboard and use only harmless words. Focus on setup and the first test; do not ask the user to star, review, or otherwise endorse the project.

A successful Try Dictation scratchpad test proves only the in-app path, not automatic paste into another app. Do not use a production field, live chat, form that can submit, or command shell as a first target. If the user asks to try another app, follow https://rcourtman.github.io/presspeech/getting-started.html#first-app with harmless words in a blank, disposable field. Count an automatic-paste pass only when the complete text appears once with no recovery notice. For Windows 0.1.12, a copied notice is manual recovery, not a paste pass: inspect the intended field first, then verify the clipboard still holds the complete transcript before manual paste; a later copy may have replaced it. Do not retry blindly. Use https://rcourtman.github.io/presspeech/app-compatibility.html before relying on repeated delivery to a specific app.

Only if the user asks about a future build: planned 0.1.13 asks before downloading either missing first-run default model and offers Set Up Later to defer; the Parakeet path also offers the smaller CPU model. It leaves the microphone closed until the user chooses Check Microphone and defaults Start with Windows off. Upcoming 0.1.13 offers Press to toggle in Setup. None of those controls is in the published 0.1.12 download. Verify GitHub Releases before describing them as available.

For plain text, or to install on a Mac instead, use the cross-platform assistant prompts.

First launch

First launch of published Windows 0.1.12

Follow these steps only if you chose to open 0.1.12 after reading the model-download privacy decision. A missing model starts downloading when this build opens; Set Up Later does not defer that request. The controls planned for 0.1.13 are described separately below and are not in the current download.

  1. Check the selected path

    Presspeech tests the packaged CUDA runtime. A usable NVIDIA setup selects multilingual Parakeet TDT v3 (about 2.5 GB); without usable CUDA, a fresh installation selects English-only Whisper base.en (about 141 MiB) for CPU use. A complete local snapshot loads without a model download. Otherwise 0.1.12 starts downloading the selected model on launch without another prompt.

  2. Let preparation finish

    Setup shows model preparation, microphone selection and its automatic check, a selectable hotkey, global-listener status, and Start Presspeech with Windows. On a new 0.1.12 profile, startup is selected by default. Turn it off before choosing Finish Setup, Set Up Later, or closing Setup if you do not want Presspeech at sign-in. If model preparation fails, choose Retry Speech Model. Try Dictation becomes available when the model is ready; Finish Setup also requires the global hotkey to be ready. You can finish after the model is ready even if you plan to connect a microphone later.

    Hold to talk is the default. To use Press to toggle, finish Setup, open Settings, select it under Trigger, then save; 0.1.12 does not offer this choice in Setup. Microphone and hotkey choices apply immediately, including in Try Dictation. Set Up Later leaves setup incomplete and preserves those choices for next launch, but does not stop a model download already started.

    If Right Alt enters @, €, or accented letters on your keyboard, Windows is using it as AltGr; choose F8 or another hotkey so AltGr remains available for typing. For keyboard-only use, press Left Alt with a command's underlined letter; Escape closes the current Presspeech window, and Ctrl+S saves Settings. If Windows refuses startup registration, Finish Setup stays open and reports the failure; choose Open Startup Settings to review Presspeech under Settings → Apps → Startup, then retry Finish Setup.

  3. Check microphone access

    Windows 0.1.12 checks the selected input automatically during setup and when its selection changes. The check briefly opens the microphone to measure its level; samples stay in memory and are discarded, not saved, sent, or transcribed. Review Windows microphone access before launching this build if you do not want that check to run. Standard Windows builds do not ask desktop apps for separate first-access permission; some Insider Experimental builds do. Windows may show its microphone-use indicator while the input is open.

    If no input level appears, unmute or select the correct microphone, speak, and choose Check Again. If the input cannot be opened, use the Setup buttons for Windows Microphone Privacy or Sound Input settings. Check Microphone access, Let apps access your microphone, and Let desktop apps access your microphone. On an Insider Experimental build with per-app desktop controls, check the requesting app's identity before allowing it; Microsoft warns that desktop apps can appear as Unsigned or under an unexpected name, so do not approve an unfamiliar request based only on that label. If the settings are managed by your organization, contact your administrator. After reconnecting a USB or Bluetooth microphone, choose Check Again to refresh discovery; a specifically selected unavailable input will not silently switch to another microphone. Outside a readiness check, audio is captured only during dictation and discarded after local processing.

  4. Try the in-app test with harmless words

    Open the tray menu and choose Try Dictation…. The scratchpad is in-app, but it is not isolated from the system clipboard; see the clipboard warning before practicing. With Hold to talk, hold the hotkey shown in Presspeech, speak, and release; with Press to toggle, press once to start and again to stop. Check the result without pasting into another app. The hotkey is Right Alt by default, or the alternative you selected during setup, such as F8 on an AltGr keyboard.

What changes in Windows 0.1.13 (not yet published)

These controls are not available in the current 0.1.12 download. The planned 0.1.13 Setup asks before fetching either missing first-run model and offers Set Up Later to defer. With usable CUDA it offers multilingual Parakeet (up to about 2.5 GB) or the smaller CPU model; without usable CUDA it offers English-only Whisper base.en (about 141 MiB). A new profile starts with Start Presspeech with Windows off. Setup also offers Hold to talk or Press to toggle and keeps that choice if setup is deferred.

In that planned build the microphone stays closed until you choose Check Microphone; changing the selected input does not start a check. After reconnection, use that same control to refresh discovery in Setup or Settings. Settings can test the input shown in its picker before you save it, but testing alone does not change the dictation input; choose Save to use it. Settings also links to Windows Microphone Privacy and Sound Input settings. Set Up Later shows a warning and closes with setup incomplete, so Setup reopens on the next launch. Check GitHub Releases before using any 0.1.13 instructions; source changes alone do not make them available in a download.

Everyday use

Hold, or press to toggle.

Dictate in your apps

Hold Right Alt by default, speak, and release to transcribe. To avoid holding a key throughout a recording, choose Press to toggle in Settings (also in Setup in the upcoming 0.1.13 build): press once to start and again to stop. The notification-area menu's Dictate action also starts and stops recording without the configured key, in either dictation style. Published 0.1.12 plays its high cue before the microphone opens, so allow time for the device to start before speaking. Upcoming 0.1.13 shows Connecting microphone… until the first input buffer arrives; its high cue then confirms input is arriving, and Listening… appears after the cue and playback-muting step when Presspeech begins accepting speech. If a press ends before that readiness point, it reports Microphone was not ready; a started input with no buffers reports a microphone error. If a ready recording captures too little audio or Whisper VAD rejects it, the indicator briefly says No speech detected — try again and a Windows notification points back to Setup's microphone check. If the recognizer instead returns blank text without VAD-zero evidence, it says No text recognized — try again; that result does not establish that the microphone captured silence. In upcoming 0.1.13, if filler removal or an empty dictionary replacement leaves nothing to insert, Nothing to insert explains the result without changing the clipboard or pasting only the configured suffix over a field. The configured key is reserved for Presspeech while it is running, so it does not also open a Windows surface or invoke an F8–F12 command in the focused app; other keys and AltGr layout input continue to pass through normally. Press Escape during recording to cancel and discard the buffered audio without transcribing or changing the clipboard. The notification-area menu offers the same Cancel Dictation (Esc) action while recording. If Windows hides that icon in overflow, launch Presspeech again from the Start Menu to restore its window or open its controls; a second dictation process is not started. If the configured key stops responding while menu-based Dictate still works, choose Repair Global Hotkey in the notification-area menu, Setup, or Settings. Presspeech replaces the listener even when its thread still appears healthy and reports whether the replacement started. Hotkeys, hold/toggle behavior, microphone, text suffix, audio cues, models, and the 1/2/5/10-minute maximum recording length are configurable. Parakeet recordings longer than 60 seconds use overlapping model inputs capped at 60 seconds; token timestamps crop each result to its owned interval rather than guessing at repeated transcript strings. A microphone selection saved during a recording applies to the next dictation; the active recording stays on the input it opened so its timing and final words remain intact. Reaching the configured limit stops and transcribes rather than discarding the recording. Saving a different model starts preparing it immediately; Settings keeps its ready/error status visible and offers a retry, while dictation stays unavailable until preparation finishes.

In the upcoming 0.1.13 build, Listener started means the global hotkey listener launched; Windows can silently remove a low-level hook without notifying the app. Key just detected briefly confirms a physical configured-key press. Test safely in Try Dictation with harmless text; if the key later stops responding while menu-based Dictate still works, choose Repair Global Hotkey even when the listener status says it started.

Window focus, with limits

A recording is bound to the window where it began. If focus changes to another window during transcription, Presspeech will not paste into that new window. This does not always identify a different field or browser tab in the same window; keep the original field and tab selected until insertion or recovery. Published 0.1.12 leaves the text on the clipboard and notifies you when the window check fails. Windows blocks a standard app from sending the paste shortcut into a target running as administrator. Published 0.1.12 also leaves that transcript on the clipboard for manual paste; do not elevate Presspeech as a workaround. Upcoming 0.1.13: an already-known missing, unfocused, or elevated original target leaves the prior clipboard item unchanged, as does an unreadable input integrity level for either Presspeech or the target app. Both paths open a keyboard-accessible Delivery Recovery window with explicit Copy, Discard and Leave Waiting actions. A failed or inconsistent Windows focused-control query also uses Delivery Recovery, even when both checks concern the same foreground window; if known before copying, the previous clipboard item stays unchanged. A completed query with no child control still cannot prove which browser field or tab is selected; recognized browsers also require a focused UI Automation Edit-element identity before automatic paste. The window does not display or implicitly copy the dictated words. If you close Recovery while a dictation is waiting, the Try Dictation scratchpad offers Review Delivery… to reopen it without copying. A change after that preflight may still leave the transcript on the current clipboard. If a clipboard write fails after replacement begins, Windows cannot restore the prior item; Presspeech clears its partial item while it still owns the clipboard and retains the dictation for explicit recovery. If cleanup fails, text may remain on the current clipboard.

Upcoming 0.1.13: if Windows identifies the target window but not its executable name, Presspeech leaves the prior clipboard item alone and opens Delivery Recovery instead of guessing a local paste route for a possible RDP or Moonlight client. A private fingerprint of a nonempty foreground-window title is also checked during delivery. A tab switch that changes the title uses Delivery Recovery instead of a knowingly misdirected paste; a title change in the original tab can also trigger recovery. The title itself is not kept or logged. For recognized browser executables, the focused UI Automation Edit-element identity must also match the one captured when recording began. A missing or changed identity uses Delivery Recovery rather than authorizing paste from the window title and Win32 control alone, including when two tabs have the same title. Presspeech reads an opaque runtime identifier, element type, and password flag, not field text or name. Provider identities can be absent or reused, and unknown browsers or embedded webviews may not get this extra check; keep the original field focused until delivery completes. If the original focused window, Win32 control, or title cannot be verified just after Windows accepts the paste shortcut, Delivery Recovery opens even though some or all text may already have reached the original or newly focused field. Check the original and any newly focused field before copying again. These checks cannot undo a paste or prove that the target consumed it.

Review commands before running them

PowerShell, Command Prompt, Windows Terminal, and remote consoles are execution surfaces, not ordinary text fields. The default After pasting value is space; selecting newline can submit a transcript immediately. Dictate command text into Try Dictation or a plain-text editor, review it, then paste and run it deliberately. Do not rely on a terminal warning: Windows Terminal documents that pasted newlines can execute commands, and its warning depends on settings.

Clipboard history and sync

Presspeech does not sync transcripts, but normal and recovery delivery writes finished text to the Windows clipboard. A write replaces the current clipboard item, including an image or formatted copy; Presspeech does not restore it after pasting. In upcoming 0.1.13 Delivery Recovery, choose Leave Waiting if you need to save the current item before choosing Copy for Manual Paste. Published 0.1.12 writes can enter Clipboard History or cross-device sync. Upcoming 0.1.13 adds Microsoft's ExcludeClipboardContentFromMonitorProcessing format before text on every dictation clipboard item, including Copy and Cut from Try Dictation, instructing Windows not to retain the item in Clipboard History or Cloud Clipboard. The text remains on the current clipboard for Ctrl+V, where another local process or third-party clipboard manager may still read it. Clipboard History or a third-party manager is not a guaranteed way to recover a prior item.

Remote desktop aware

Moonlight and Microsoft Remote Desktop receive different remote-delivery handling. RDP requires client-to-remote plain-text clipboard redirection to be allowed; Presspeech cannot bypass a client or host restriction. Moonlight uses its client-side shortcut to type local clipboard text into the remote session instead of synchronizing a remote clipboard. Both routes can send the text to the remote host. Try harmless text in a blank, non-submitting remote editor and inspect the result before relying on the route. Normal Windows apps retain the standard fast Ctrl+V path. See Microsoft's RDP clipboard guidance and the target-app compatibility check.

Updates require approval

Optional update checks read public GitHub release metadata and ignore releases that are not marked immutable. Presspeech downloads an installer only after approval, then verifies its published size and SHA-256 before offering to run it.

In upcoming 0.1.13, an automatic check that finds a release shows a notification rather than opening a window over the app where you may be dictating. Choose Review Available Update… in the notification-area menu to read its notes and decide whether to download; the action remains available if the notification is missed. A manual Check for Updates… opens the review window when it finds a release.

Privacy

Speech stays on the PC

No transcription service

Model files download from pinned revisions during setup, but dictation audio is not uploaded. Published Windows 0.1.12 honors inherited HF_ENDPOINT/HUGGINGFACE_CO_STAGING routing and may send a locally available Hugging Face token to the configured endpoint; it can also add HF_HUB_USER_AGENT_ORIGIN to request metadata. Upcoming 0.1.13 fixes the endpoint, removes the inherited origin, declines account tokens, disables the bundled model libraries' telemetry and implicit authentication, and bypasses the separate hf-xet transfer client before they load. There is no Presspeech account, analytics SDK, crash reporter, or transcript history.

Diagnostics omit your words

Copy Diagnostics reports runtime state, timings, and character counts. It excludes transcript text, audio, and dictionary contents.

See the privacy page and machine-readable network-call inventory for the complete cross-platform network surface.

More detail

Support and source installation

Start with the Windows recovery guide. The Windows technical guide covers every setting, model choice, source setup, testing, packaging, and diagnostics. Copy Diagnostics copies a privacy-safe summary locally; it does not send or submit it. Report a Problem… and Suggest an Improvement… in the tray menu open the repository's support guide, not an issue form. Follow that guide for the current public-reporting status and privacy-safe draft steps. If a public route becomes available, include reproduction steps, Windows version, CPU, GPU and driver when present, and whether the model reached Ready. Upcoming 0.1.13 / builds containing Test App Compatibility… can open the repeated target-app protocol directly.

Feedback availability checked 23 September 2026: GitHub currently restricts creating new issues in this repository, so a new public report cannot be submitted there. Check for a matching existing issue and whether comments are available. Otherwise keep the privacy-safe draft local and retry when issue creation is available; do not post private data elsewhere as a workaround.

GitHub issues are public. Do not add dictated text, audio, dictionary contents, credentials, or other private data. Use the private vulnerability-reporting form for a security issue.