Back to docs
Desktop app

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.

Free add-on for Pro and Team plans. Pro and Team customers get the desktop app at no extra charge with full access to the shared Whisper infrastructure. Free and Basic users can install too — just bring your own OpenAI key via account settings.
Mic + system audio

Capture both you and the other call participants without a virtual audio cable. Works for Zoom, Meet, Teams, Discord, anything.

Same pipeline as the web recorder

Whisper transcription, decision + action-item extraction, project auto-classification, synopsis. All server-side — desktop app is just the better recording surface.

End-to-end private to your org

Recording goes straight to your Mnueron server (hosted or self-hosted). RLS-isolated. Audit-logged. Encrypted at rest.

Cross-platform native

macOS (Apple Silicon + Intel), Windows (x64), Linux (AppImage). Built on Electron + TypeScript; the renderer is fully context-isolated.

1

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.

2

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.

3

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.

4

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.

5

Stop & upload

Click Stop & upload. Audio uploads to your Mnueron server. The full pipeline runs:

  1. Whisper transcription with per-segment timestamps
  2. Chunking + embedding for semantic recall
  3. Decision extraction (LLM pass)
  4. Action-item extraction with assignee + due date
  5. Project auto-classification
  6. 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.

PlanInstallShared Whisper keyBYO OpenAI key
FreeYesRequired
BasicYesRequired
ProFree add-onYes (free add-on)IncludedOptional
TeamFree add-onYes (free add-on)IncludedOptional
EnterpriseCustomYes + signed installers + SSODedicated infraOptional

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.