Open source · Local first · MIT
Meetings, voice memos, dictation — Minutes transcribes them locally, writes structured markdown to your own disk, and lets every AI you use (Claude, Codex, Gemini, anything MCP) read the same folder of truth. Nothing is uploaded. When a cloud memory app gets acquired or subpoenaed, your recordings aren't theirs to hand over — they never left your machine.
1,273 GitHub stars • 132 forks • 19 contributors • 2,000 npm installs/mo
Local, open source, free forever.
Transcript Output
2026-04-08-strategy-sync.md
Action Items
Minutes keeps the raw transcript visible. The structure is the interface: timestamps, speakers, action items, and decisions stay readable even before an assistant touches them.
v0.22.1 closes the macOS desktop window-lifecycle crash, detects Zoom calls on vanity meeting URLs, and makes app settings persist reliably. Release notes · Feed
Download, install, done. First launch downloads a speech model. Runminutes setup --parakeetfor the multilingual Parakeet backend, orminutes setup --demoto try the pipeline on five bundled fixture meetings.
Newer Homebrew distrusts third-party taps by default; if brew warns about silverstein/tap, run brew trust silverstein/tap once.
Works with any MCP client
Hold the hotkey, speak, release. The text lands at your cursor and in your daily note — no app to open, no tool to switch. It's the habit most people start with, and it runs on the same local engine as every meeting and memo.
Other dictation tools hand you text and forget it. Minutes keeps every word — transcribed on your machine, part of the same owned memory your AI can search later. Your voice never touches a server.
Dictation
daily-note.md · 2026-07-10
Every other tool sends your audio somewhere to be understood — a cloud transcriber, a hosted AI, a server that keeps the result. Minutes doesn't. Transcription runs on your Mac and the record is markdown on your own disk. There is no server to trust, breach, or subpoena.
Cloud notetakers
Leaves your devicedevice audio, on your Mac
cloud providers
hosted AI
their servers
Even the privacy-conscious ones capture locally, then stream your audio to the cloud to transcribe and store the result on their servers.
Minutes
Stays on devicedevice audio, on your Mac
on-device — whisper.cpp / parakeet.cpp
your disk — markdown in ~/meetings
Audio, transcript, and notes never leave your machine. You hold the only copy — nothing to upload, sell, or lose in an acquisition.
Try it in two minutes
One command installs five sample meetings and connects them to your AI. Ask Claude what was decided, without recording anything.
How we test it
1,148 automated tests and a public eval harness, with the limits stated plainly. Read the receipts before you trust it.
Build on the files
Working Mem0 and Graphiti examples show how other tools read the same markdown. Your data, everyone's integration.
Audio -> Transcribe -> Diarize -> Summarize -> Markdown -> Relationship Graph
(local) (local) (your LLM) (decisions, (people, commitments,
whisper.cpp pyannote Claude / action items) topics, scores)
OllamaTranscription is local via whisper.cpp or parakeet.cpp. Parakeet is multilingual by default with native VAD. Live transcription falls back cleanly through Apple Speech, Parakeet, and Whisper. Summarization is optional — Claude can do it conversationally when you ask, using your existing subscription. No API keys are required to get useful output.
From meetings to memos to agents
For agents
36 MCP tools, live transcript reads, and structured markdown let Claude, Codex, Gemini CLI, and Cowork work from what was actually said.
For developers
whisper.cpp or parakeet.cpp transcription, diarized markdown, YAML frontmatter, and a plain-files workflow that still works with grep and git.
For meetings
One-click recording, streaming transcription, speaker separation, decisions, and action items without shipping your audio to a SaaS vendor.
For voice memos
Minutes watches for iPhone Voice Memos, transcribes them on your Mac, and makes them available to the same memory layer.
For daily work
Hold the hotkey, speak, release. Minutes sends the text to the clipboard and your daily note without changing tools.
For recall
Competitors hide the transcript. Minutes keeps timestamps, speakers, and action items visible so the source stays readable.
Capture
Local transcription. whisper.cpp with GPU acceleration. Your audio stays on your machine.
Streaming results. Text appears as you speak, with partial updates every few seconds.
Speaker diarization. pyannote separates who said what in multi-person meetings.
Dictation mode. Clipboard + daily note flow for short-form thoughts and commands.
Intelligence
Structured extraction. Action items, decisions, and commitments become queryable markdown.
Relationship memory. Track people, projects, and unresolved commitments across meetings.
Cross-meeting search. Search everything or ask your assistant to pull the thread for you.
Voice memo pipeline. iPhone recordings arrive on Mac and join the same memory graph.
Integration
Desktop app. Tauri menu bar app with recording, dictation hotkey, and meeting prompts.
Claude-native. 36 MCP tools for Claude Desktop, Cowork, Dispatch, and Claude Code.
Any LLM. Use Ollama, OpenAI-compatible gateways, local servers, or skip summarization entirely.
Markdown is truth. YAML frontmatter, plain files, and a workflow that works outside Minutes.
| Granola | Otter.ai | Hyprnote | minutes | |
|---|---|---|---|---|
| Local transcription | No (cloud) | No (cloud) | Yes | Yes |
| Open source | — | — | MIT | MIT |
| Free | Freemium | Freemium | Free | Free |
| Agent surface | Hosted MCP | Hosted integrations | Local app | Files + 36 MCP tools |
| Cross-meeting intelligence | Cloud chat | Cloud chat | — | Local graph |
| Consent provenance | — | — | — | In every file |
| Dictation mode | — | — | — | Yes |
| Voice memos | — | — | — | iPhone pipeline |
| People memory | — | — | — | Yes |
| Data ownership | Their servers | Their servers | Local | Local |
| Data format | Cloud DB | Cloud DB | Local files | Markdown + YAML |
| Agent-agnostic | — | — | Partially | Yes |
If you take notes on client conversations for a living — legal, clinical, financial — a cloud recorder isn't a preference, it's a compliance problem. Minutes keeps both the audio and the record on your own machine, and puts governance in the record itself: every file states the consent it was captured under, because its primary reader is now an agent.
Shipped
Every recording stamps its consent basis into the file's frontmatter. Sensitive meetings capture no audio but keep structured notes, and Require mode blocks every desktop and CLI entry point until consent is confirmed.
Next
Retention rules the corpus enforces on its own audio, and enforcement of the sensitivity contract across every agent surface, not just the debrief path.
The point
Sensitivity metadata your agents are required to respect: a restricted meeting never appears in search, graph queries, or anything an agent assembles.
A disclosure aid, not legal advice; make sure everyone present has agreed where required. The design is public: why we built it this way and the phase 2 plan.