कहो /kə·ho/ imperative — say it

Say it.
It's typed.

Hold a key anywhere on your Mac and talk. Kaho puts the words into whatever app has focus — transcribed on your own machine, usually before you've reached for the next thought.

Download for Mac

Free & open source · Apple Silicon · macOS 15+ · notarized by Apple

Animation: a spoken sentence appears as typed text in a Notes window while Kaho's recording pill moves from recording to transcribing to pasted.

Tell it how,
in the same breath.

While you hold the hotkey, press right Shift and keep talking. Everything said with Shift down is an instruction, not part of the message. Let go of Shift and you're dictating again.

Other tools ask you to set this up ahead of time — saved modes, per-app rules, prompt libraries. But the right tone changes from one message to the next, even in the same app. Here the instruction is just speech: said once, used once, never stored.

Pasted

Mark, I am unable to attend the offsite; I recommend scheduling it in November.

The small things,
done properly.

⌥

Hold, or tap.

Hold right Option while you talk — let go and it's done, so a recording can't be forgotten on. Or tap to start and tap to stop, kinder through a long prompt.

esc

Changed your mind?

Press Escape. Nothing gets pasted.

cow → Kaho

It learns your words.

List names, products and jargon. The model spells them your way, and a spelling pass catches the near-misses.

Polish before it lands.

Optional rewrite, on this Mac by default — skipped automatically when there's nothing to fix. You can point it at OpenAI, Anthropic or any OpenAI-compatible endpoint with your own key, which sends the transcript to that service. Your audio never leaves the Mac either way.

Strips filler and false starts. Your words, your tone.

We should move the launch to next Thursday because QA is still working through the payment bugs.
  • English
  • हिन्दी
  • Español
  • Français
  • Deutsch
  • Português
  • Italiano
  • 日本語
  • 中文

Your language.

Detected automatically, or pinned in Settings when a short sentence comes back in the wrong script.

Your voice stays on this Mac.

Audio is recorded only while the key is down, transcribed in memory and discarded. No account, no telemetry. Kaho goes online to download its models once — and, only if you give the rewrite step your own key, to send that provider the transcript. Never the audio.

The tour.

A narrated walk-through, from the first keypress to what happens under the hood.

Get it.

Disk image

Open it, drag Kaho to Applications. Signed and notarized — no Gatekeeper warning.

Download

Homebrew

One line, and updates come with brew upgrade.

brew install --cask utsavanand/kaho/kaho

From source

Read it first, build it against your own Python 3.13.

git clone https://github.com/utsavanand/kaho
cd kaho && ./install.sh
  • Needs Apple Silicon (M1 or later), macOS 15 (Sequoia) or later
  • Asks for Microphone and Accessibility — grant both, relaunch
  • First launch downloads the speech model once (~2.3 GB); then it works offline

MIT licensed. Full docs, FAQ and design notes in the README.