Use the direct notarised download for the shortest path, or Homebrew if you want command-line install and updates. The app then guides model loading, macOS privacy grants, and hotkey readiness from Setup Checklist.
Current published macOS release: 0.3.10. Install metadata updated .
Before installing or launching macOS 0.3.8: decide whether to open it. If a token may be present in the environment that launches Presspeech—or you are unsure—leave 0.3.8 unopened and choose macOS 0.3.9 after reviewing its launch decision. If the trust of a TLS-inspecting proxy is unclear, do not launch 0.3.8 while it is in use. If you rely on an inherited proxy whose URL may be malformed, leave 0.3.8 unopened.
Why: its model-download requests may include a Hugging Face token inherited by Presspeech. The public model needs no account token. FluidAudio also honors an inherited lowercase https_proxy setting. A TLS-inspecting HTTPS proxy trusted by macOS can read any 0.3.8 token it receives; a tunnelling proxy cannot read the HTTPS request. From 0.3.9, Presspeech removes account-token authentication but still honors proxy settings.
Malformed proxy URLs are a separate risk: the bundled 0.3.8 client can log an invalid inherited lowercase https_proxy or http_proxy URL verbatim, including embedded proxy credentials, and then ignore it. A model request may therefore go directly instead of through the proxy you expected. If you rely on an inherited proxy and are unsure its URL is valid, keep 0.3.8 unopened; from 0.3.9, Presspeech refuses malformed proxy settings before model loading. Do not share proxy URLs or log excerpts containing them. See the technical inventory.
Downloading or installing is not launching: downloading the macOS ZIP from GitHub or installing Presspeech without opening it does not make a model request. A missing-model download starts when 0.3.8 opens; its Setup cannot defer it. In 0.3.9 and later, a clean install asks first, while an existing installation still starts a missing-model download when it opens. You can keep the downloaded or installed app unopened while waiting. Dictation audio and transcripts are not sent in these requests. See the version-specific network inventory.
Already installed and waiting? Quit any running copy, then turn off its login item, if enabled, in System Settings → General → Login Items & Extensions without opening Presspeech again. At sign-out or restart, deselect Reopen windows when logging back in. Check GitHub Releases in a browser for 0.3.9 rather than launching 0.3.8 to use its update check. Follow the new build's instructions before opening it; these steps cannot undo a model request already started.
Using Windows? The Windows install guide has the current prerelease installer, system and model sizes, SHA-256 verification steps, and first-run instructions.
Apple SiliconM1 or newer. Intel Macs are not supported.
macOS 14+Sonoma or later.
Direct or HomebrewDownload the signed zip manually, or use Homebrew for install and updates. Presspeech has no Homebrew runtime dependency after installation.
First model downloadInternet is required for the local model, about 500–600 MB. macOS 0.3.8 starts a missing-model download on launch and cannot defer it in Setup. A valid cached model loads without another download.
What changed in macOS 0.3.9
For a clean install, 0.3.9 Setup asks you to choose Download Model or Set Up Later to defer a missing-model download. Existing installs with a valid cached model continue loading automatically. These choices are not in 0.3.8. Check GitHub Releases and the installed version before following 0.3.9 instructions.
Fast path
Direct download
Before opening macOS 0.3.8: a missing-model download starts on launch and may include a Hugging Face token inherited by Presspeech. macOS 0.3.9 and later ask before a clean install’s first model download and do not send an inherited Hugging Face token. If the download below is 0.3.8 and a token may be present—or you are unsure—leave the downloaded app unopened and choose macOS 0.3.9 after reviewing its launch decision. The public model needs no account token. Read the full release-specific warning before deciding.
In Downloads, verify the current archive against its published SHA-256:
cd ~/Downloads
echo '79122e42d40d5349bd5487de055f2ae7fc53877c1c2bc506870d29b854e40e05 Presspeech.zip' | shasum -a 256 -c -
Continue only if it reports Presspeech.zip: OK. A checksum detects a damaged or different download; by itself, it does not establish who built or published the file.
Verify the release attestation (optional)
For an additional check, install GitHub CLI and verify both the immutable release and the exact archive you downloaded. Replace the tag below if you downloaded a different version:
The success line appears only if both commands succeed. If either fails, stop: do not treat the archive as attested or launch it until you resolve the failure. This checks the release’s GitHub attestation and that the archive matches its attested asset; it does not prove the software is vulnerability-free or benign.
Move it to Applications
Unzip the archive and move Presspeech.app to Applications. If you chose to wait after reading the privacy warning, leave it unopened. Otherwise, open it to begin setup; 0.3.8 starts a missing-model download on launch, while 0.3.9 and later ask first on a clean install.
Finish Setup Checklist
macOS 0.3.8 starts a missing ~500–600 MB model download on launch; Setup cannot defer it. In macOS 0.3.9 and later, a clean install waits until you choose Download Model; Set Up Later defers it. Keep Presspeech open while the model prepares, then use Setup Checklist for the remaining checks.
Command line
Homebrew install and launch
Before the open command: macOS 0.3.8 may start a missing-model download that includes an inherited Hugging Face token. If one may be present—or you are unsure—install only, skip open, and choose macOS 0.3.9 after reviewing its launch decision. Read the full privacy decision first.
Before opening the app, check CFBundleShortVersionString in /Applications/Presspeech.app/Contents/Info.plist. If it differs from the release and launch decision you reviewed, stop.
Homebrew is the easiest path if you already use it or want command-line updates. On first launch, macOS shows its standard downloaded-app confirmation; choose Open after checking that it says Apple found no malicious software. The Presspeech icon then appears in the menu bar. macOS 0.3.8 starts a missing ~500–600 MB model download on launch; Setup cannot defer it. A clean 0.3.9 install asks before downloading, but an existing installation with a missing model may still download on launch. If setup is not complete, Presspeech opens Setup Checklist; you can reopen it from the menu at any time.
To deliberately free menu-bar space, choose Settings → Behavior → Show Presspeech in Menu Bar. Presspeech enables its Dock icon if needed, and the Dock menu can restore the item. If a crowded or notched menu bar temporarily omits the item, open Presspeech.app again from Applications, Finder, or Spotlight. The already-running app opens Setup Checklist; enable Show in Dock there for a persistent alternative. Right-click its Dock icon to reach dictation controls, Settings, and Support.
Existing installations
Upgrade to the current Presspeech identity
Presspeech migrates preferences, hotkey choices, local dictionary rules, correction-sync paths, and recovery state automatically. If an upgrade changes the app identity, macOS privacy grants cannot move with it; review the Microphone, Accessibility (shown as Device Control and Data Access on macOS 27 and later), and Input Monitoring rows when Setup Checklist opens.
Before reopening macOS 0.3.8 after an upgrade: A valid cached model loads without a download, but if the model is missing or fails integrity checks, 0.3.8 can start a model request at launch. That request may include an inherited Hugging Face token. If a token may be present—or you are unsure—leave the upgraded app unopened and choose macOS 0.3.9 after reviewing its launch decision. Do not launch 0.3.8 through a TLS-inspecting proxy whose trust is unclear. Upgrading to 0.3.9 or later removes inherited-token authentication; if its model is missing or invalid, the upgraded app can still start a model request at launch, and valid proxy settings still apply. Read the full launch decision before opening it.
Homebrew
Run brew update && brew upgrade --cask rcourtman/presspeech/presspeech. The fully qualified command trusts only this cask under Homebrew's tap-trust model. If you decide to launch after reading the warning above, open Presspeech, accept the standard macOS downloaded-app confirmation if shown, then finish any permission rows still needed in Setup Checklist.
Direct download
Quit the installed copy and replace it with the current Presspeech.app. If you decide to launch after reading the warning above, open it once. Saved app settings migrate automatically; finish any permission rows still needed in Setup Checklist.
Three grants
Permissions
Presspeech needs Microphone, Accessibility (shown as Device Control and Data Access on macOS 27 and later), and Input Monitoring. Setup Checklist shows each grant, explains why it is needed, and opens the relevant macOS prompt or Settings pane. macOS's Input Monitoring grant can expose typed keys; Presspeech's listener requests keyboard events only for the configured hotkey and Escape to cancel active dictation, passes other keys through without saving, logging, or sending their values, and does not inspect mouse or trackpad events. Review Apple's Input Monitoring guidance before deciding.
Review the scope before granting Accessibility. Apple describes this as access to control your Mac and advises granting it only to apps you trust; it may also expose contacts, calendar, and other information. Presspeech uses the grant to check the focused destination and send the paste shortcut. The system permission is broader than that use. If you leave it off, Presspeech cannot use its normal verified paste path. Read Apple’s accessibility-permission guidance before deciding.
These are local macOS privacy grants, not an account permission model. Presspeech has no cloud transcription endpoint or Presspeech-authored telemetry SDK, and no camera, contacts, calendar, location, file-provider, JIT, or unsigned-executable-memory entitlement. See the network-call inventory for bundled-library behavior by published version.
macOS permissions required by Presspeech
Permission
Why it is needed
Microphone
Record audio only while dictation is active; speech is transcribed locally on your Mac.
Accessibility (Device Control and Data Access on macOS 27+)
Paste the transcript at the current cursor location with a synthetic ⌘ V event.
Input Monitoring
Detect the configured hotkey and Escape to cancel an active recording. Apple's broad system grant can expose typed keys; Presspeech requests keyboard events only, does not inspect mouse or trackpad events, and passes other keys through without saving, logging, or sending their values.
In the 0.3.8 download, follow the permission controls shown in Setup Checklist. If a row remains Missing, choose Try Again; an Accessibility row that appears granted does not separately verify keyboard-event posting. From 0.3.9 (not in 0.3.8), Presspeech labels the first microphone prompt Continue and an earlier denial Open Settings, and checks both focused-window access and keyboard-event posting before reporting Accessibility granted. The main menu also shows clickable permission rows while anything is missing, so setup can continue even after the checklist window is closed.
From zero to dictation
Step-by-step
Confirm the hardware
Run uname -m. It must print arm64.
Confirm macOS version
Run sw_vers -productVersion. It should report 14 or later.
Choose an install path
Download Presspeech.zip from the version-pinned release above, or run brew install --cask rcourtman/presspeech/presspeech.
Check the installed version and decide whether to launch
Read the installed version from /Applications/Presspeech.app/Contents/Info.plist without opening the app. If it differs from the release and launch decision you reviewed, stop. If you chose to wait after reading the privacy warning, leave it unopened. Otherwise, run open /Applications/Presspeech.app. macOS 0.3.8 starts a missing ~500–600 MB model download on launch; 0.3.9 asks first on a clean install. Existing installations with a missing model may still download on launch.
Finish Setup Checklist
Open the Presspeech menu and choose Setup Checklist…. Use it to finish the speech model, permissions, and hotkey check.
Hold Right Option, speak, release
Presspeech transcribes locally, then normally pastes into the window where you started. If it cannot verify that destination, it keeps the transcript on the clipboard and asks you to paste manually. The published 0.3.8 release checks the window, not the field or browser tab within it: keep the starting field and tab selected until insertion or a recovery notice appears.
For shell-capable assistants
Agent install prompt
Use this when asking a shell-capable assistant to install Presspeech on the target Mac.
Show the macOS install prompt
Install Presspeech from https://github.com/rcourtman/presspeech on this Mac.
Before choosing an install or launch path, verify the published macOS version on https://github.com/rcourtman/presspeech/releases and the deployed https://rcourtman.github.io/presspeech/install.html#direct-download guide. Use the version-pinned download only when both identify the same available release; if they disagree or the release asset is unavailable, stop and wait. The source branch, release notes, and local site metadata can be ahead of the downloadable build. Do not infer publication from those files alone.
Before installing or launching, explain the model download. Presspeech downloads its local speech model (~500-600 MB) from Hugging Face; the public model needs no account token, and from 0.3.9 Presspeech removes inherited Hugging Face account tokens from its model requests. Model downloads do not include dictation audio or transcripts. Valid inherited lowercase `https_proxy` or `http_proxy` settings still route model requests: a TLS-inspecting proxy trusted by macOS can read them, while a tunnelling proxy cannot. If the user depends on a proxy whose trust is unclear, wait. From 0.3.9, Presspeech refuses to start if either setting is malformed, naming only the variable; the user corrects or removes it before relaunching. Downloading the ZIP or installing the app without opening it does not make the model request. On a clean install, Setup waits for Download Model or Set Up Later; an existing installation with a missing model may start a download on launch. Do not inspect or display token values or proxy values, change credential settings, share logs containing them, or launch without the user's informed choice. If the user chooses to wait, skip the `open` command below and leave the app unopened. See https://rcourtman.github.io/presspeech/privacy.html#network-calls.
Before downloading or installing, run these read-only compatibility checks:
uname -m
sw_vers -productVersion
Stop if the Mac is not Apple Silicon (arm64) or macOS is older than 14. Do not download, install, or launch Presspeech on an unsupported Mac.
Presspeech has two notarised install paths: a direct release zip and a Homebrew Cask. After the compatibility checks pass, check whether Homebrew is already available:
command -v brew
If Homebrew is available and the user chooses it, install with:
brew install --cask rcourtman/presspeech/presspeech
Otherwise offer the direct notarised zip using the current version-pinned download and verification steps at https://rcourtman.github.io/presspeech/install.html#direct-download. Do not install Homebrew just for Presspeech. After verification, unzip and move Presspeech.app to Applications, but do not follow the guide's launch instruction yet. Do not run the Homebrew command when Homebrew is unavailable.
Before launching, read the installed app's version without opening it:
plutil -extract CFBundleShortVersionString raw -o - /Applications/Presspeech.app/Contents/Info.plist
If it does not match the published version and launch decision you reviewed, stop; do not launch a different installed build. If an older 0.3.8 build is present, also point the user to https://rcourtman.github.io/presspeech/privacy.html#macos-0-3-8-after-use. The installation method alone does not establish which version is present at that path.
Only after the user makes an informed choice to launch the verified published version:
open /Applications/Presspeech.app
After launch, Download Model in Setup starts the speech-model download and Set Up Later defers it; a valid cached model loads without another download. Before asking the user to enable Input Monitoring, explain that macOS's grant can expose typed keys; Presspeech requests keyboard events only to detect the configured hotkey and Escape to cancel an active recording, passes other keys through without saving, logging, or sending their values, and does not inspect mouse or trackpad events. Offer Apple's guide at https://support.apple.com/guide/mac-help/mchl4cedafb6/mac. Use Setup Checklist to finish the model, permissions, and hotkey readiness. The default dictation key is Right Option. Focus on setup and the first in-app test; explain that the scratchpad can still use the system clipboard and use only harmless words. 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. On macOS, 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: check GitHub Releases and the deployed install guide before describing its controls as available. Source changes alone do not make a new download available.
The in-app update menu also appears when Presspeech finds a newer GitHub release. The menu only notifies; installation starts only after you choose Update Now.
Support
Get useful help without sharing your words
First check the FAQ and troubleshooting guide. Support → Copy Diagnostics copies a privacy-safe summary locally; it does not send or submit it. Support → Report a Problem… and Suggest an Improvement… open the repository's support guide, not an issue form. The summary includes app, system, permission, model, microphone availability, settings, and update state without transcript text, correction contents, exact microphone names, raw error details, or raw log lines. Review the separate local log before choosing to share any excerpt. Follow the guide for the current public-reporting status and privacy-safe draft steps. In macOS 0.3.8 and later, Support → Test App Compatibility… opens 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 or shortcut contents, credentials, or other private data. Use the private vulnerability-reporting form for a security issue.