publik.
Browse appsAppsAPIHow it works+ Publish a repoSupport builders
Browse appsHow it worksPublish a repoSupport buildersGet helpDevelopersGitHubPrivacy
© 2026 Publik
All apps/Spokesman/Install/macOS

How to install Spokesman on Mac

Spokesman does what Wispr Flow does, and Wispr Flow costs Paid. This guide gets you the free one.

What you end up with

Spokesman installed like any other app on your Mac. It is free, and it stays free — there is no account, no trial and no subscription at the end of this.

Time
About 20 minutes
Steps
12
Cost
Free

Read this first

Assembled from the submission questionnaire with zero model calls. No founder has reviewed this guide yet.

Before you start

These are one-time installs. If you have used Terminal before, you may have them already — the first step checks.

  1. 1

    Install Git

    Apple opens a small installer.

    Type this into Terminal, then press Return.

    xcode-select --install

    You know this worked when: Git responds with a version number

  2. 2

    Install Node LTS

    Choose the macOS Installer (.pkg).

    Open download ↗

    You know this worked when: Node responds with a version number

Install Spokesman

  1. 3

    Open Terminal

    Keep it open beside this page.

    You know this worked when: Terminal is open

  2. 4

    Check Git and Node

    Git and the current Node LTS are required.

    Type this into Terminal, then press Return.

    git --version
    node --version

    You know this worked when: Git and Node respond with version numbers

  3. 5

    Install uv

    Needs Python already installed.

    Type this into Terminal, then press Return.

    python3 -m pip install --user uv

    You know this worked when: uv responds with a version number

  4. 6

    Install Python

    Choose the macOS installer (.pkg), then reopen Terminal.

    Open download ↗

    You know this worked when: python3 --version prints a version

  5. 7

    Copy Spokesman to this Mac

    Type this into Terminal, then press Return. The first line moves you into the folder this step runs in, so it works in a window you have just opened.

    cd ~
    if [ ! -d spokesman/.git ]; then
    git clone https://github.com/arhamhi/spokesman.git
    fi

    You know this worked when: A spokesman folder appears

  6. 8

    Open the Spokesman folder

    Type this into Terminal, then press Return. The first line moves you into the folder this step runs in, so it works in a window you have just opened.

    cd ~
    cd spokesman

    You know this worked when: Your terminal prompt is inside the spokesman folder

  7. 9

    Use the reviewed version

    Type this into Terminal, then press Return. The first line moves you into the folder this step runs in, so it works in a window you have just opened.

    cd ~/spokesman
    git checkout 1bd9c4c64edae2b2120752761c5e40d351bec98a

    You know this worked when: Git reports the reviewed commit

  8. 10

    Install dependencies

    Type this into Terminal, then press Return. The first line moves you into the folder this step runs in, so it works in a window you have just opened.

    cd ~/spokesman
    uv sync

    You know this worked when: The command finishes without an error

  9. 11

    Try Spokesman

    Keep Terminal open.

    Type this into Terminal, then press Return. The first line moves you into the folder this step runs in, so it works in a window you have just opened.

    cd ~/spokesman
    uv run spokesman

    You know this worked when: Spokesman opens

  10. 12

    Try it

    Spokesman should be open and ready to use.

    You know this worked when: Spokesman works

If something goes wrong

Nothing here can damage your computer, and every step can be run again safely. If a command fails, the usual cause is the step before it not having finished.

Still stuck? Tell us what happened and we will fix the guide. Include the step number and we can usually reproduce it.

Have a different setup?

  • Can you install Spokesman on Windows? →

This guide follows arhamhi/spokesman at the reviewed version 1bd9c4c. Pinning the version is why the commands here keep working after the project changes.

Back to Spokesman →