Mnueron Meet — Desktop
Native Mac, Windows, and Linux recorder. Captures your mic plus system audio from Zoom / Google Meet / Microsoft Teams without any virtual audio cable. Uploads to your Mnueron memory store and runs the same pipeline that powers the web recorder.
Capture both you and the other call participants without a virtual audio cable. Works for Zoom, Meet, Teams, Discord, anything.
Whisper transcription, decision + action-item extraction, project auto-classification, synopsis. All server-side — desktop app is just the better recording surface.
Recording goes straight to your Mnueron server (hosted or self-hosted). RLS-isolated. Audit-logged. Encrypted at rest.
macOS (Apple Silicon + Intel), Windows (x64), Linux (AppImage). Built on Electron + TypeScript; the renderer is fully context-isolated.
Download (coming soon — for now, build from source)
Signed installers for macOS (Apple Silicon + Intel) and Windows (x64) are being prepared. Linux ships as an AppImage. Until the first stable release is published, you can run the app from source in a few minutes:
# Requires Node 18+ git clone https://github.com/your-org/mnueron-meet-desktop.git cd mnueron-meet-desktop npm install npm start
First launch downloads Electron (~30 seconds). Subsequent starts are instant.
Generate an API token
In your Mnueron dashboard, head to /account-settings/api-tokens and click Create token. Name it after the machine (e.g. desktop-macbook) so you can rotate individual devices later if needed.
Copy the mnu_... value — it's only shown once.
Configure the app
Click the ⚙ Settings button in the top right of the desktop window. Fill in:
- Server URL — defaults to
https://www.mnueron.com. If you self-host, paste your domain instead. - API token — the
mnu_...from step 2. - Default attendees — optional. Names that pre-fill on every new recording. Format:
Name <email>, one per line.
Click Save. The top of the app shows your server's hostname.
Record
Type a meeting title. Optionally add attendees and language. To capture audio from a video call (Zoom / Meet / Teams), tick Also capture system audio and pick the call's window or screen. Click Start recording.
The timer runs and the audio meter shows mic levels. You can Pause for breaks and resume, or Discard to throw the recording away without uploading.
macOS note: the first time you tick "Also capture system audio," macOS prompts for Screen Recording permission. Grant it in System Settings → Privacy & Security → Screen Recording, then restart the app.
Stop & upload
Click Stop & upload. Audio uploads to your Mnueron server. The full pipeline runs:
- Whisper transcription with per-segment timestamps
- Chunking + embedding for semantic recall
- Decision extraction (LLM pass)
- Action-item extraction with assignee + due date
- Project auto-classification
- Markdown synopsis generation
Typical timing: 30 seconds of audio → ~30s total. 5 minutes of audio → ~60s total. 30 minutes → ~2–3 minutes.
When done, you'll see counts and an Open in dashboard → link. Click it to view the meeting detail page with decisions, action items, and synopsis already extracted.
Plan availability
The desktop app itself is free for everyone. What differs by plan is whether Mnueron's shared Whisper key is available to you, or whether you need to bring your own OpenAI key.
| Plan | Install | Shared Whisper key | BYO OpenAI key |
|---|---|---|---|
| Free | Yes | — | Required |
| Basic | Yes | — | Required |
| ProFree add-on | Yes (free add-on) | Included | Optional |
| TeamFree add-on | Yes (free add-on) | Included | Optional |
| EnterpriseCustom | Yes + signed installers + SSO | Dedicated infra | Optional |
Pro tips
- Record system audio for video calls. The killer use case. Tick "Also capture system audio," select the Zoom (or Meet/Teams) window, and your recording captures both you (mic) and the other participants (system audio). No virtual cable, no Krisp, no setup.
- Use project names in your title. The classifier weighs the title heavily. "Atlas Migration weekly standup" auto-classifies cleanly; "Standup 11/15" doesn't.
- Say Jira ticket numbers verbatim. ATLAS-204, REQ-1042, ADR-014 — extracted by a regex link extractor with no LLM needed, so they show up as linked entities even if the LLM extractors fail.
- Default attendees save 30 seconds per meeting. If you record your team's standups daily, putting the team in Settings → Default attendees means you only tweak the list when someone's missing.
- The window must stay open. Closing the app discards the recording. If you accidentally close, the audio is gone — there's no recovery.
Where your data lives
Audio is stored on your Mnueron server only during processing. After Whisper finishes, the audio is discarded — what stays is the transcript (in your memories table), decisions, action items, and synopsis. All of it RLS-isolated to your org, encrypted at rest, audit-logged via the secret_access_log table.
If you have an OpenAI key configured in BYO Key settings, Mnueron uses your key. OpenAI's API doesn't train on data sent through that endpoint by default. Otherwise (on Pro and Team plans), Mnueron uses its shared infrastructure key.
Troubleshooting
- Could not start recording: NotAllowedError
- Your OS denied microphone access. Grant the permission in system settings and restart the app.
- System audio option doesn't capture anything
- On Linux/Wayland, screen-capture portals aren't fully supported yet. Workaround: route the system audio through a virtual mic (pavucontrol on Linux, BlackHole on macOS) and select it as your microphone instead.
- Upload failed (401)
- API token is invalid or expired. Regenerate at /account-settings/api-tokens.
- Upload failed (413)
- File exceeds 25MB — Whisper's per-request cap. For very long meetings (60+ minutes) you may need to split the recording. Future versions will chunk on the client.
- Status stuck on 'Uploading audio...' for 5+ minutes
- Your server's function timeout might be set below 300s. Check your Vercel deployment settings, or self-host with a longer ceiling.
- Meeting saves but has no decisions or action items
- No OpenAI key is configured for your org. Go to /account-settings/keys, add one, then run Regenerate summary on the existing meeting to backfill.