Skip to content

Voice control for macOS

Every Mac gets a voice.

Hold the agent hotkey and talk. Speech-to-text runs on your Mac, then Soren plans the clicking, typing, and commands—pausing for your approval before risky effects.

Bring your cursor to the session on the right — Soren replays it for you.

Hey Soren — run the tests, and trash the 2019 screenshots.

▸ push-to-talk capture complete0:00

▸ run_terminal_command "bun test"0:03

▸ 2 failures read back to you0:07

▸ trash_file — approved by voice, undoable0:11

done in 0:14

The loop

Listen. Understand. Act. Approve.

One spoken sentence travels a fixed path through Soren. Two of the four stops never leave your Mac, and the loud one asks first.

  1. 01Listen

    Hold the hotkey while you speak. The bounded capture ends when you release it, and Parakeet transcribes the audio on your Mac.

    push-to-talk · Parakeet STT

  2. 02Understand

    Soren reads the app in front of you through macOS accessibility APIs — real buttons, fields, and menus with names, not screen-coordinate guessing.

    read_focused_app · list_windows

  3. 03Act

    It presses elements, types into fields, runs commands in your visible terminal, and drives Chrome from a background tab — each step logged as a trace you can read.

    press_element · run_terminal_command

  4. 04Approve

    Anything destructive stops at a HUD and waits for your yes — by voice or click. Deletes are moves to Trash. Saying “stop” cancels the whole turn instantly.

    approval HUD · stop word

0:07

Speaks fluent native app.

Soren reads the accessibility tree of whatever app is focused — the actual buttons, fields, and menu items — and acts on the element itself, so it works when windows move or themes change. If an app resists, a vision fallback screenshots the screen and clicks what it sees.

Explore this capability →

read_focused_apppress_elementset_element_text

Reply to Sam: build is green, deploying after lunch.

▸ read_focused_app — Mail, 14 elements0:01

▸ press_element "Reply"0:02

▸ set_element_text — reply drafted0:05

done in 0:07

0:31

A terminal that listens.

Say what you want run, and Soren types it into your visible terminal window and presses return — output stays on your screen and failures get read back aloud. Vibe Mode keeps a push-to-talk line open to your terminal for whole hands-free coding sessions.

Explore this capability →

run_terminal_commandsend_to_windowvibe mode

Tail the API logs and tell me when a 500 shows up.

▸ send_to_window — iTerm, window 10:02

▸ spoke: "a 500 on /checkout, 12:04"0:31

done in 0:32

0:58

Chrome, driven from the back row.

Through its Chrome extension, Soren opens tabs, reads pages, clicks, fills forms, and watches the console and network — all in a background tab, so you keep working wherever you are. Nineteen browser tools behind one spoken sentence.

Explore this capability →

browser_navigatebrowser_group_tabsbrowser_read_console

Wrangle these tabs — keep the PR ones together.

▸ browser_list_tabs — 12 open0:01

▸ browser_group_tabs — 3 groups0:03

done in 0:05

1:24

It asks before it breaks things.

Destructive actions stop at an on-screen HUD and wait — approve or deny by voice or click, and nothing runs until you do. Deletes are moves to Trash, undoable from Finder, never rm. A global stop word cancels any turn mid-flight.

Explore this capability →

approval HUDtrash_file“stop”

Clear out the 2019 screenshots folder.

▸ trash_file ~/Pictures/Screenshots/20190:02

▸ approved by voice — moved to Trash, undoable0:06

done in 0:08

1:52

Teach it once, say it forever.

Finish a good session and say “save that as a skill” — the exact tool steps become a named, replayable macro, with {{placeholders}} for the parts that change. Next morning, two words replay the whole routine deterministically.

Explore this capability →

save_last_skillrun_skill

Soren, morning triage.

▸ run_skill "morning-triage"0:01

▸ Mail → unread read back · Calendar → 2 conflicts0:09

▸ iTerm → overnight CI status surfaced0:14

done in 0:16

2:15

It can show its work.

Ask Soren to explain something and it draws: an animated sketch rendered on your screen, synchronized to its spoken narration, with real math typesetting when the topic needs it. A live drawing, not a wall of chat.

Explore this capability →

show_visualcanvas mode ⌘⌥C

Explain retry with backoff — draw it for me.

▸ show_visual — scene validated, 4 nodes0:02

▸ narration synced to the sketch0:05

done in 0:14

Point it at your day

One voice, a dozen chores.

Everything below is a real capability wired into Soren today — the mono tag on each card is the actual tool that runs.

Inbox triage

Unread mail read back, a reply drafted inside Mail itself, sent on your word.

run_applescript · Mail

Test runs

“Run the tests” lands in your visible iTerm — the two failures are what you hear about.

run_terminal_command

File cleanup

The 2019 screenshots go to Trash after you say yes — and Finder can undo it.

trash_file

Tab wrangling

Twelve tabs become three named groups while you never leave your editor.

browser_group_tabs

Settings, directly

“Open Bluetooth settings” deep-links to the exact pane — no Spotlight spelunking.

open_settings_pane

Calendar checks

Today's meetings read out, the conflict flagged, an invite drafted.

run_applescript · Calendar

Music control

The focus playlist, volume at forty percent, without touching a thing.

run_applescript · Music

Your Shortcuts

Any Shortcut you've built, run by its exact name, with spoken input passed in.

run_shortcut

Window awareness

Soren lists what's open — foreground or minimized — before it types anywhere.

list_windows

Quick web answers

Opens your browser, searches, and reads the useful part back to you.

open_and_search

Bug notes

A note lands in Notes with the stack trace you were just staring at.

run_applescript · Notes

Morning routine

Mail, calendar, overnight CI — one saved skill, replayed with one sentence.

run_skill

Privacy

Private by architecture, not by promise.

The current voice capture is push-to-talk. Speech-to-text runs on the Apple Neural Engine, so voice audio stays on the Mac.

Transcripts and the task context needed for reasoning may be sent to your selected model provider. That context can include tool results or screenshots used to complete your request. Soren is model-agnostic — bring your own Anthropic or OpenAI key and it's stored in the macOS Keychain, or use hosted inference on paid plans.

  • voice capture — push-to-talk
  • STT — Apple Neural Engine
  • keys — macOS Keychain
  • deletes — Trash, undoable

Pricing

Start free. Stay for twelve dollars.

Free gives you 25 agent turns a month to see whether talking to your Mac sticks. Plus removes the cap. BYOK Lifetime is for people who'd rather bring their own model key and pay exactly once.

Free

$0 forever

Evaluate Soren with a monthly agent turn quota.

most popular

Plus

$12 / month

Unlimited agent turns for daily voice automation.

BYOK Lifetime

$199 once

Bring your own model API key. Pay once, run forever.

Compare plans in full

FAQ

Asked, answered.

What is Soren?

Soren is a voice-first AI agent for Mac. Hold the agent hotkey to run Terminal commands, operate supported apps, and complete cross-app work—with approval before risky effects.

How is Soren different from Siri or dictation?

Siri handles short system intents. Soren runs compound workflows: spin up dev servers, tile apps, execute shell commands in your visible terminal, and pause for approval before rm or trash. It reads UI via accessibility APIs, not screen coordinates.

Does audio leave my Mac?

The current preview uses bounded push-to-talk capture, and Parakeet speech-to-text runs on your Mac. Voice audio stays local; transcripts and task context needed for reasoning may go to your selected model provider.

What are agent turns and usage limits?

Each voice command that triggers the AI agent counts as one agent turn. Free tier includes 25 per month. Plus removes the cap. Track usage in your account dashboard.

What plans are available?

Free ($0) with monthly quota, Plus ($12/mo) with unlimited agent turns, and BYOK Lifetime ($199 once) to bring your own model API key.

What apps can Soren drive?

Anything with an accessibility tree — Soren reads real buttons, fields, and menus and acts on them directly. Terminals get typed, visible commands; Chrome is driven through an extension in a background tab; Mail, Music, Notes, Finder, and Calendar respond via AppleScript; and any Shortcut you've built runs by name. When an app exposes nothing, a vision fallback screenshots the screen and clicks what it sees.

Can I teach Soren my routines?

Yes. Finish a session and say “save that as a skill” — the exact tool steps are stored as a named macro you can replay with one sentence. Skills support placeholders for the parts that change, and they replay deterministically, without asking the model to improvise.

When can I get access?

Join the waitlist — we're onboarding in waves. Early access goes to waitlist members first.

Hey Soren, get me off this waitlist.

Give your Mac a voice.

We're onboarding in waves, and early access goes to the waitlist first. Free starts at 25 agent turns a month — no card required, and setup is one notarized app.