# Billing Source: https://docs.hermesvoice.com/account/billing Manage your Hermes subscription and payment methods. ## Viewing your subscription 1. Open Hermes 2. Go to **Settings → Account** or **Billing** 3. View your current plan, renewal date, and usage *** ## Managing your subscription ### Change plan 1. Go to **Settings → Billing** 2. Click **Change Plan** 3. Select your new plan 4. Confirm the change Changes take effect: * **Upgrades**: Immediately * **Downgrades**: At end of current billing period ### Update payment method 1. Go to **Settings → Billing** 2. Click **Payment Method** 3. Enter new card details 4. Save ### Cancel subscription 1. Go to **Settings → Billing** 2. Click **Cancel Subscription** 3. Confirm cancellation Your access continues until the end of your current billing period. You can resubscribe anytime. *** ## Billing cycle | Plan | Billing | | -------- | ----------------------------------- | | Monthly | Charged on the same date each month | | Annual | Charged on the same date each year | | Lifetime | One-time charge, no renewals | *** ## Invoices and receipts ### View past invoices 1. Go to **Settings → Billing** 2. Click **Billing History** or **Invoices** 3. Download any invoice as PDF ### Get a receipt Receipts are emailed automatically after each payment. Check your email or download from billing history. *** ## Common questions ### When will I be charged? You're charged immediately when you subscribe, then on the same date each billing cycle. ### Can I get a refund? Contact support within 7 days of purchase for refund requests. ### What happens if payment fails? * We'll retry the payment a few times * You'll receive email notifications * Your subscription continues during the grace period * If payment isn't resolved, your plan downgrades to Free ### How do I update my billing email? 1. Go to **Settings → Account** 2. Update your email address 3. Billing communications will go to the new email *** ## Related Compare available plans. # Plans & Pricing Source: https://docs.hermesvoice.com/account/plans Choose the right Hermes plan for your needs. ## Available plans | Plan | Price | | ----------------- | ------------------- | | **Free** | Free | | **Subscription** | \$9/mo or \$90/year | | **Lifetime Deal** | \$150 one-time | *** ## Free Start using the voice app. * Dictate 2000 words * Custom dictionary and voice commands * Private, on-device mode * 100+ languages * Try AI features *** ## Subscription Pay monthly or lock in savings for the year. * Unlimited dictations * Custom dictionary and voice commands * Private, on-device mode * 100+ languages * Access to all AI features * Priority support *** ## Lifetime Deal Founding Partner Special — own it forever, no recurring fees. * Unlimited dictations * Custom dictionary and voice commands * Private, on-device mode * 100+ languages * Bring your own AI API * Priority support *** ## Upgrading your plan 1. Open Hermes 2. Go to **Settings → Account** 3. Select your plan 4. Complete payment Your new features are available immediately. *** ## Related Manage your subscription and payments. # Changelog Source: https://docs.hermesvoice.com/changelog Track Hermes updates and new features over time. ## Version history This changelog tracks Hermes releases and will grow over time, starting with version 1.0.57. *** ## 1.0.58 ### Formatting styles * Choose a formatting style for each mode: **Casual**, **Semi-Casual**, **Formal**, or **Custom** * Casual keeps your voice relaxed — slang preserved, no periods, minimal corrections * Semi-Casual cleans up errors while keeping contractions and natural tone * Formal expands contractions, applies full grammar, and polishes for professional use ### Smart notes * Organize notes into **sections** — AI auto-classifies new notes into the right section * Create, rename, and reorder sections from the new section management UI * Filter notes by section with the section filter bar * Set **reminders** on notes with automatic macOS notification scheduling * Link notes to **calendar events** * **Duplicate detection** warns before saving similar content ### Voice-activated notes * New **"note"** voice command — say "note buy groceries" to capture a note instantly * Notes captured by voice are auto-organized into sections by AI ### Fixed: High memory usage * The local transcription model is now released from memory after each dictation *** ## 1.0.57 ### Vibecode Mode * Track AI responses in supported coding apps with live status pills * Click a pill to jump back when a response finishes * Optional sound alerts and auto-redirect on completion * Tracking button appears in the Hermes bar when Vibecode Mode is enabled * Auto-pause video when you switch into a supported coding app ### Quick file browser under the Hermes bar * Search files with voice * Browse folders and preview items * Drag files out into your editor, chat, or desktop ### Automatic file surfacing * New screenshots and downloads appear automatically in the quick-access browser * Configure this in Settings -> Defaults -> "Show new files automatically" ### Hide dock icon * Optionally hide the Hermes dock icon from Settings -> Defaults ### Directional hotkey settings * Set separate left and right hotkeys for modifier keys like Command and Control ### New voice commands * **"find ..."** for file search (default trigger) * **"screenshot"** (default trigger) * **"screen record"** (default trigger) * Configurable **Open Folder** triggers to open specific folders # Dictionary Source: https://docs.hermesvoice.com/customization/dictionary Teach Hermes how you pronounce words for better transcription accuracy. ## What the dictionary does The dictionary improves transcription accuracy by learning how you pronounce specific words. When Hermes mishears a word, you can teach it the correct spelling by recording how you say it. **Example problem**: You say "Kubernetes" but Hermes transcribes it as "Kuber net ease" **Solution**: Add "Kubernetes" to your dictionary and record yourself saying it. Hermes learns your pronunciation and transcribes it correctly from then on. *** ## Adding words to your dictionary Go to **Dictionary** in Hermes. Click the **+** button to add a new entry. Type the correct spelling of the word you want Hermes to learn. Select a category: General, Names, Technical, Medical, Business, or Custom. Click **Record** and say the word clearly. Hermes records multiple passes to learn your pronunciation. The word is now in your dictionary. *** ## Categories | Category | Use for | | ------------- | -------------------------------- | | **General** | Common words | | **Names** | People's names, place names | | **Technical** | Technical terms, jargon | | **Medical** | Medical and pharmaceutical terms | | **Business** | Company names, business terms | | **Custom** | Anything else | *** ## Examples | Word | Why add it | | -------- | ----------------------------- | | Nguyen | Uncommon name pronunciation | | Xilinx | Niche company name | | Airtable | Often heard as "air table" | | Supabase | Unusual spelling | | Vercel | Often misheard as "versatile" | *** ## How it works When you record a pronunciation: 1. You say the word multiple times 2. Hermes analyzes each attempt using speech-to-text 3. It generates phonetic codes for your pronunciation 4. During future dictations, Hermes matches similar-sounding words to your dictionary entries This phonetic matching means Hermes can correct words even when you pronounce them slightly differently each time. *** ## Managing your dictionary ### Editing an entry 1. Find the entry in your dictionary 2. Click to edit 3. Update the spelling or re-record the pronunciation 4. Save ### Deleting an entry 1. Find the entry 2. Click **Delete** 3. The entry is removed *** ## Tips * **Add words as you encounter problems** — When Hermes mishears something repeatedly, add it to your dictionary * **Speak naturally when recording** — Don't over-enunciate; say the word how you normally would * **Use categories** — Helps organize entries as your dictionary grows *** ## Dictionary vs Snippets The dictionary and [Snippets](/triggers/types/snippets) serve different purposes: | Dictionary | Snippets | | --------------------------------- | -------------------------------------------------------- | | Fixes pronunciation/transcription | Replaces phrases with text | | "Vercel" sounds like → "Vercel" | "my email" → [john@example.com](mailto:john@example.com) | | Improves accuracy | Saves typing | Use the dictionary for words Hermes mishears. Use Snippets for shortcuts and text replacement. *** ## Related How voice dictation works. Create text shortcuts. # Formatting Modes Source: https://docs.hermesvoice.com/customization/formatting-modes Customize how Hermes formats text for different apps and contexts. ## What are formatting modes? Formatting modes let you customize how Hermes formats your dictation based on which app you're using. Each mode has its own style—casual for Slack, formal for email, minimal for code. Hermes includes built-in modes, and you can create your own. *** ## Built-in modes | Mode | Apps included | Style | | ----------------- | --------------------------------------------------- | ----------------------------------------------------- | | **Messaging** | Slack, Discord, Teams, iMessage, WhatsApp, Telegram | Casual — lowercase OK, relaxed punctuation | | **Email** | Mail, Gmail, Outlook, Spark | Formal — proper capitalization, professional tone | | **Coding** | VS Code, Xcode, Cursor, Terminal, GitHub | Minimal — preserves technical terms, light formatting | | **Writing** | Notes, Word, Pages, Notion, Obsidian | Semi-casual — clear structure, proper formatting | | **AI Assistants** | ChatGPT, Claude, Grok | Casual — conversational prompts | | **Disabled** | (Your choice) | No formatting — raw transcription | ### Web apps Modes work with web apps too. When you're in a browser, Hermes detects the website: * `mail.google.com` → Email mode * `slack.com` → Messaging mode * `github.com` → Coding mode * `notion.so` → Writing mode * `chat.openai.com` → AI Assistants mode *** ## Formatting styles Each mode has a **formatting style** that controls how aggressively Hermes formats your speech: | Style | Behavior | | --------------- | -------------------------------------------------------------------------- | | **Casual** | Minimal corrections — slang preserved, no periods, contractions encouraged | | **Semi-Casual** | Fix errors and spelling, keep contractions and natural tone | | **Formal** | Full grammar, expand contractions, professional polish | | **Custom** | Your own rules via custom instructions | You can set a style when creating or editing a mode. If you choose **Custom**, your custom instructions define the formatting behavior entirely. *** ## Creating a custom mode Go to **Settings → AI Formatting → Modes**. Click **+** or **Add Mode**. Give it a descriptive name like "Work Slack" or "Personal Notes". Add the apps or websites that should use this mode: * For native apps: Select from the app list * For web apps: Enter the domain (e.g., `mycompany.slack.com`) Pick **Casual**, **Semi-Casual**, **Formal**, or **Custom**. Write specific formatting rules for this mode. Required if you chose **Custom** as your style. *** ## Instructions You can add specific rules to any mode. These are natural language instructions that Hermes follows when formatting. ### Examples **For Email mode:** ``` Always start with a greeting. Expand contractions (don't → do not). End with a professional sign-off. ``` **For Slack mode:** ``` Keep messages under 50 words. Use emoji sparingly. Don't capitalize the first word. ``` **For Coding mode:** ``` Preserve all technical terms exactly. Don't add periods at the end. Keep variable names intact. ``` ### Where to add instructions Go to the **Instructions** section in Hermes to add rules for specific modes. *** ## Editing built-in modes You can modify the built-in modes: * **Add or remove apps** — Customize which apps use each mode * **Add instructions** — Layer your own rules on top Changes only affect your account. The original defaults remain available. *** ## The Disabled mode The **Disabled** mode skips all AI formatting. Use it for apps where you want raw transcription. To disable formatting for an app: 1. Go to **Settings → AI Formatting → Modes → Disabled** 2. Add the app to this mode 3. Dictation in that app will be unformatted *** ## Mode priority If an app matches multiple modes, Hermes uses the most specific match: 1. **Custom URL match** — `mycompany.slack.com` beats `slack.com` 2. **Custom mode** — Your modes take priority over built-in ones 3. **Built-in mode** — Default modes as fallback *** ## Related How context detection and formatting works. All AI formatting options. # AI Formatting Source: https://docs.hermesvoice.com/features/ai-formatting How Hermes uses AI to format your dictation with proper punctuation, capitalization, and context-aware styling. ## What AI formatting does When you dictate, Hermes doesn't just transcribe your words—it formats them intelligently. AI formatting handles: * **Punctuation** — Adds periods, commas, and question marks where they belong * **Capitalization** — Capitalizes sentence starts, proper nouns, and acronyms * **Filler word removal** — Removes "um", "uh", "like", and other verbal fillers * **Number conversion** — Turns "twenty three" into "23" * **Context-aware styling** — Adjusts formality based on which app you're using ## The formatting pipeline Here's what happens to your words between speaking and the final text: ``` 1. Speech → Raw transcription 2. Cleanup → Remove fillers, format numbers 3. Context detection → Which app are you in? 4. AI formatting → Apply style based on context 5. Final text → Inserted at your cursor ``` Each step builds on the last. The AI considers everything—what you said, how you said it, and where you're typing—to produce natural text. *** ## Context detection Hermes detects which application you're using and adjusts formatting accordingly. ### How it works 1. **App detection** — Hermes identifies the frontmost application 2. **Mode matching** — The app is matched to a formatting mode (Email, Messaging, Coding, etc.) 3. **Style application** — Formatting rules for that mode are applied ### Example: Same words, different contexts **You say:** "hey can you send me the report when you get a chance thanks" **In Slack (Messaging mode):** > hey, can you send me the report when you get a chance? thanks **In Mail (Email mode):** > Hey, can you send me the report when you get a chance? Thanks. **In VS Code (Coding mode):** > hey can you send me the report when you get a chance thanks The words are the same, but the formatting matches where you're typing. *** ## Formatting styles Each formatting mode has a **formatting style** that controls how aggressively Hermes cleans up your speech: | Style | What it does | | --------------- | -------------------------------------------------------------------------- | | **Casual** | Minimal corrections — slang preserved, no periods, contractions encouraged | | **Semi-Casual** | Fix errors and spelling, keep contractions and natural tone | | **Formal** | Full grammar, expand contractions, professional polish | | **Custom** | Your own formatting rules via custom instructions | You can set a formatting style per mode in **Settings -> AI Formatting -> Modes**. *** ## Formatting modes Hermes includes built-in modes for common apps. Each mode has its own formatting style. | Mode | Apps | Style | | ----------------- | ----------------------------------------- | ------------------------------------------------------ | | **Messaging** | Slack, Discord, Teams, iMessage, WhatsApp | Casual — lowercase starts OK, relaxed punctuation | | **Email** | Mail, Gmail, Outlook | Semi-Casual — clean but natural, contractions kept | | **Coding** | VS Code, Xcode, Terminal, GitHub | Minimal — preserves technical syntax, light formatting | | **Writing** | Notes, Word, Notion, Obsidian | Semi-casual — clear structure, proper formatting | | **AI Assistants** | ChatGPT, Claude | Casual — conversational tone | ### Web apps too Formatting modes work with web apps. When you're in Safari or Chrome, Hermes detects the website: * `mail.google.com` → Email mode * `slack.com` → Messaging mode * `github.com` → Coding mode * `notion.so` → Writing mode Create your own modes or modify the built-in ones. *** ## Vision context For even smarter formatting, you can enable **Vision**. When enabled, Hermes takes a screenshot when you dictate to understand more about what you're doing. ### What Vision enables * **Better app detection** — Works even when app names aren't clear * **Content awareness** — Knows if you're replying to an email or writing a new one * **Page context** — Understands what's on screen for more relevant formatting ### Privacy Vision is opt-in and disabled by default. Screenshots are processed instantly and never stored or transmitted. Enable Vision in **Settings → AI Formatting → Enable Vision**. *** ## When formatting is skipped AI formatting doesn't always run. It may be skipped when: * **Formatting is disabled** for the current app (using the "Disabled" mode) * **You're in Code mode** and the text looks like code * **Privacy mode is enabled** and all cloud features are off You can also create a "Disabled" mode for apps where you want raw transcription without any formatting. *** ## Customizing AI formatting ### Instructions Add specific rules that apply to all your dictations: * "Always expand contractions" * "Use British spelling" * "Never use exclamation marks" Set these in the **Instructions** section of Hermes. ### Per-app rules Add rules that only apply to specific apps: * For email: "Always start with a greeting" * For Slack: "Keep messages under 50 words" * For code: "Preserve all technical terms exactly" Set these in the **Instructions** section for each mode. *** ## Related Create and customize formatting modes for specific apps. All AI formatting configuration options. The basics of voice dictation. Control what data Hermes uses and stores. # Dictation Source: https://docs.hermesvoice.com/features/dictation How to use voice dictation in Hermes—speaking tips, the Hermes bar, and viewing your history. ## How dictation works Hermes listens to your voice, transcribes it in real-time, formats the text intelligently, and inserts it wherever your cursor is. The whole process takes about a second. ``` You speak → Hermes transcribes → AI formats → Text appears ``` ## Starting and stopping dictation ### Press and hold (default) 1. **Press your hotkey** (Fn by default) and hold it down 2. **Speak** while holding the key 3. **Release the key** when you're done 4. Text is processed and inserted This is the default mode—quick and intuitive for short dictations. ### Double-tap for long dictations For longer dictations where holding a key is uncomfortable: 1. **Double-tap your hotkey** quickly 2. **Speak freely** without holding anything 3. **Tap the hotkey once** to stop Double-tap mode is great for writing long emails, taking notes in meetings, or journaling. *** ## The Hermes bar When you start dictating, the Hermes bar appears on your screen. It shows: * **Audio waveform** — Visual feedback that Hermes is hearing you * **Live transcription** — Your words appear as you speak * **Status indicators** — Recording, processing, or ready ### Moving the bar Drag the Hermes bar to reposition it. You can place it: * **Top Middle** or **Bottom Middle** * **Any of the 4 corners** Drag it off the edge of the screen to hide it. *** ## Speaking tips ### Speak naturally Don't try to sound like a robot. Hermes is trained on natural speech: * **Pause to think** — It's fine to take a moment * **Say filler words** — "Um", "uh", "like" are automatically removed * **Vary your pace** — You don't need to speak slowly or rush ### Don't say punctuation Unlike older dictation systems, you don't need to say "period" or "comma". Hermes adds punctuation based on context: | You say | Hermes writes | | ------------------------ | ------------------------- | | "Hi how are you" | "Hi, how are you?" | | "Let me know thanks" | "Let me know. Thanks!" | | "The meeting is at 3 pm" | "The meeting is at 3 PM." | ### Numbers are converted automatically | You say | Hermes writes | | ---------------------------------------------- | --------------------- | | "twenty three" | "23" | | "one hundred dollars" | "\$100" | | "call me at five five five one two three four" | "Call me at 555-1234" | *** ## Supported languages Hermes supports dictation in 100+ languages using Whisper. **Popular languages:** * English (US, UK, Australian) * Spanish * French * German * Italian * Portuguese * Dutch * And many more Set your language in **Settings → Dictation**, or use **Auto** to let Hermes detect it automatically. *** ## Viewing your history Every dictation is saved to your history. To view past dictations: 1. Open the Hermes app 2. Go to the **Home** or **History** section 3. Browse your recent dictations From history, you can: * **Copy** a past dictation * **Delete** dictations you don't need * **Save as a note** for longer-term storage *** ## Related features How Hermes formats your text based on context. All available hotkeys and how to customize them. Teach Hermes custom words and pronunciations. Save and organize your dictations. # Hermes Edit Source: https://docs.hermesvoice.com/features/hermes-edit Edit and transform existing text using voice commands. ## What is Hermes Edit? Hermes Edit lets you modify selected text by describing what you want to change. Select text, activate Hermes Edit, and speak your editing instruction—Hermes transforms the text accordingly. ## How to use Hermes Edit Highlight the text you want to modify. Use the Hermes Edit shortcut or trigger. Say what you want to change. For example: * "Make this shorter" * "Fix the grammar" * "Make it more formal" Hermes transforms the text based on your instruction. *** ## Common edit commands | You say | What happens | | -------------------------- | -------------------------------------------- | | "Make this shorter" | Condenses the text while keeping the meaning | | "Make this longer" | Expands with more detail | | "Fix the grammar" | Corrects grammatical errors | | "Make it more formal" | Professional, polished tone | | "Make it more casual" | Relaxed, conversational tone | | "Convert to bullet points" | Reformats as a list | | "Summarize this" | Creates a brief summary | | "Simplify this" | Uses simpler words and shorter sentences | *** ## Examples ### Shortening text **Selected text:** > "I wanted to reach out to you regarding the upcoming meeting that we have scheduled for next week to discuss the various aspects of the project timeline and deliverables." **You say:** "Make this shorter" **Result:** > "I wanted to discuss next week's meeting about the project timeline and deliverables." ### Changing tone **Selected text:** > "hey can u send me that file when u get a sec thx" **You say:** "Make it professional" **Result:** > "Hi, could you please send me that file when you have a moment? Thank you." ### Converting format **Selected text:** > "We need to update the database, fix the login bug, and add the new feature by Friday." **You say:** "Convert to bullet points" **Result:** > * Update the database > * Fix the login bug > * Add the new feature by Friday *** ## Tips for better edits * **Be specific** — "Make the second paragraph shorter" is better than "make it shorter" * **Combine instructions** — "Fix grammar and make it more formal" * **Describe the outcome** — "Rewrite this as an apology" works as well as step-by-step instructions *** ## Related Generate responses to messages and emails. Voice-to-text for new content. # Hermes Reply Source: https://docs.hermesvoice.com/features/hermes-reply Generate responses to emails, messages, and comments using your voice. ## What is Hermes Reply? Hermes Reply lets you respond to text by speaking your intent. Select an email, message, or comment, activate Hermes Reply, and speak what you want to say—Hermes generates a properly formatted response. ## How to use Hermes Reply Highlight the email, message, or comment you're responding to. Use the Hermes Reply shortcut or trigger. Say what you want to convey. For example: * "Yes, I can meet tomorrow at 2" * "Thanks for the update, I'll review it today" * "Sorry, I'm not available that day" Hermes generates a formatted reply based on the context and your intent. *** ## Examples ### Replying to an email **Selected text:** > "Hi, are you available for a call tomorrow afternoon to discuss the project timeline?" **You say:** "Yes, 2pm works for me" **Hermes writes:** > "Hi, yes I'm available tomorrow afternoon. 2 PM works well for me. Looking forward to discussing the project timeline." ### Responding in Slack **Selected text:** > "Can someone review my PR when they get a chance?" **You say:** "I'll take a look this afternoon" **Hermes writes:** > "I'll take a look this afternoon!" ### Commenting on a document **Selected text:** > "Should we include the Q3 projections in this section?" **You say:** "Yes and add a chart" **Hermes writes:** > "Yes, let's include the Q3 projections here. A chart would help visualize the data clearly." *** ## Context awareness Hermes Reply understands: * **The original message** — What you're responding to * **The app you're in** — Email gets formal replies, Slack gets casual ones This means the same intent can produce different replies depending on context. *** ## Tips for better replies * **Be specific** — "Yes at 2pm" is better than just "yes" * **Include key details** — Mention names, dates, or action items * **Speak naturally** — You don't need to dictate the full reply, just your intent *** ## Related Edit existing text with voice commands. How Hermes formats text based on context. # Dictation Hotkey Source: https://docs.hermesvoice.com/features/hotkeys The keyboard shortcut to start dictation and activate triggers. ## The dictation hotkey Hermes uses a single hotkey to start dictation. When you speak, Hermes transcribes your speech and can activate triggers based on what you say. The default hotkey is **Fn** (Function key). *** ## How to use it ### Press and hold 1. **Press and hold** the hotkey 2. **Speak** while holding 3. **Release** when done Your speech is transcribed and any matching triggers are activated. ### Double-tap for hands-free For longer dictations: 1. **Double-tap** the hotkey quickly 2. **Speak freely** without holding 3. **Tap once** to stop Double-tap is great for long emails, meeting notes, or extended writing sessions. *** ## Changing the hotkey To use a different key: 1. Open Hermes 2. Go to **Settings** 3. Find the dictation hotkey setting 4. Click to change it 5. Press your new key ### Good hotkey choices * **Fn** — Most apps don't use it * **A modifier + key** (like ⌘⇧D) — Less likely to conflict with other apps ### Avoid * System shortcuts like ⌘Q or ⌘W * Keys your commonly-used apps already use *** ## Troubleshooting ### Hotkey not working? 1. Make sure **Input Monitoring** permission is granted in System Settings 2. Check if another app is using the same key 3. Try a different key Learn how to grant Input Monitoring permission. # Notes Source: https://docs.hermesvoice.com/features/notes Quickly dictate notes and organize them with smart sections, reminders, and AI classification. ## Sections Sections let you organize notes into groups like "Work", "Personal", or "Ideas". When you save a note, Hermes automatically suggests which section it belongs to based on its content. You can accept the suggestion, choose a different section, or leave it uncategorized. Manage sections from the **section management** button in the Notes view — create, rename, reorder, or delete them. Use the **filter bar** to show only notes from a specific section. *** ## Reminders Set a reminder on any note and Hermes schedules a macOS notification at the time you choose. Hermes needs the **Reminders** permission to schedule notifications. See [Permissions](/setup/permissions). *** ## Calendar events Link a note to a calendar event to keep meeting notes, agendas, or follow-ups connected to your schedule. *** ## Duplicate detection When you save a note with content similar to an existing note, Hermes warns you before creating a duplicate. *** ## Auto-classify By default, new notes are automatically placed into the right section by AI. To review suggestions before they're applied, turn off **Auto-Classify** in the section management sheet. Notes will still get a suggestion — you just approve it first. *** ## Syncing to other apps Notes can be synced to **Apple Notes**. Configure the destination when setting up a [Note Capture trigger](/triggers/types/note-capture). *** ## Related Capture notes with a voice command. Control syncing and data retention. # Vibecode Mode Source: https://docs.hermesvoice.com/features/vibe-code Track AI responses, control media, and move files fast while you code. ## What is Vibecode Mode? Vibecode Mode keeps Hermes in sync with your coding apps so you can stay in flow. It adds live status pills, a quick file browser under the Hermes bar, and smart media controls when you switch focus. *** ## Supported apps Vibecode Mode works with native apps: * **Terminal apps**: iTerm2, Terminal, Warp, Hyper * **AI code editors**: Cursor, Windsurf, VS Code with Copilot Browser-based chatbots are not supported. *** ## Live status pills When you use Hermes in supported coding apps, Vibecode Mode shows a small status pill for each AI response: * **Live status** - See when a response is generating, done, or needs attention * **Jump back** - Click the pill to return to the app and response instantly * **Optional alerts** - Play a sound or auto-redirect when the response finishes Status pills only appear in supported coding apps. Everywhere else, Hermes works normally without the pills. *** ## How to start tracking 1. Open a supported app 2. Hover over the Hermes bar and click the eye button 3. Use your AI assistant - Hermes will show a status pill and notify you when it finishes *** ## Quick file browser under the Hermes bar A compact browser appears beneath the Hermes bar so you can move files without breaking your flow. You can: * **Search with voice** - Say "find ..." to search your files * **Browse folders** - Expand folders and preview items * **Drag files out** - Drop files into your editor, chat, or desktop *** ## Automatic file surfacing New screenshots and downloads appear automatically in the quick-access browser, so the latest files are always one gesture away. Control this in **Settings -> Defaults** with **Show new files automatically**, and optionally set custom screenshot and downloads folders. *** ## Voice commands These commands work best with Vibecode Mode enabled: | Command | What it does | | ---------------------------- | -------------------------------------------------------- | | **"find ..."** | Searches files in the quick file browser | | **"screenshot"** | Takes a screenshot and surfaces it immediately | | **"screen record"** | Opens the macOS screen recording toolbar | | **Custom "open folder ..."** | Use the **Open Folder** action to open a specific folder | *** ## Set it up Go to **Settings -> Vibecode**. Turn on Vibecode Mode and configure sound or auto-redirect if you want them. Go to **Settings -> Triggers** and create a trigger using the **Open Folder** action. *** ## Related Tracking, alerts, and auto-pause video options. Built-in voice commands and how to customize them. # Welcome to Hermes Source: https://docs.hermesvoice.com/index Voice dictation that understands you. Speak naturally, get perfectly formatted text. ## Dictate smarter, not harder Hermes is a macOS app that transforms your voice into perfectly formatted text. It understands context—whether you're writing an email, chatting on Slack, or coding—and formats your words accordingly. Download Hermes, grant permissions, and speak your first sentence. ## Why Hermes? Say "um" and "like" all you want. Hermes removes filler words and adds punctuation naturally. Writing an email? You get formal formatting. Chatting on Slack? Casual tone. Hermes detects your context. Create triggers to search the web, open apps, control windows, or run custom AI prompts—all with your voice. Your voice is processed on your Mac. No audio leaves your device. ## See it in action Here's what happens when you dictate with Hermes: **You say:** > "hey just wanted to follow up on our meeting from yesterday um let me know when you're free to chat" **Hermes writes:** > "Hey, just wanted to follow up on our meeting from yesterday. Let me know when you're free to chat." Filler words removed. Punctuation added. Context-aware formatting applied. ## Explore the docs Learn how dictation, AI formatting, and voice editing work. Customize dictation, formatting, privacy, and interface options. Automate actions with voice commands—search, open apps, run scripts. Solutions for common issues and permission problems. Track AI responses, auto-pause videos, and move files fast. See what's new in each Hermes release. # Quickstart Source: https://docs.hermesvoice.com/quickstart Get Hermes running and dictate your first sentence in under 5 minutes. ## Get started in 5 minutes This guide walks you through downloading Hermes, setting it up, and speaking your first dictation. Download Hermes from [hermesvoice.com](https://hermesvoice.com) and drag it to your Applications folder. Launch Hermes from your Applications folder or Spotlight. Hermes needs a few macOS permissions to work. You'll be prompted for each one: | Permission | Why it's needed | | -------------------- | ------------------------------ | | **Microphone** | To hear your voice | | **Accessibility** | To type text into apps for you | | **Input Monitoring** | To detect your hotkey anywhere | **Screen Recording** is optional but recommended. It lets Hermes see what app you're using for smarter formatting. Click "Allow" for each permission prompt, or grant them manually in **System Settings → Privacy & Security**. See our detailed permissions guide for step-by-step instructions. Choose the key that starts and stops dictation. The default is the **Fn** key. **Why Fn?** * It's easy to reach * You probably don't use it for anything else * No modifier keys needed To change it, go to **Settings → Keyboard Shortcuts**. Open any app where you can type—Notes, Mail, Slack, or even a text field in your browser. 1. **Press and hold your hotkey** (Fn by default) 2. **The Hermes bar appears** at the bottom of your screen 3. **Speak naturally**: "Hey, just wanted to follow up on our conversation from yesterday. Let me know when you have time to chat." 4. **Release the hotkey** when you're done 5. **Watch your text appear**, formatted and ready Speak naturally. Say "um" if you want. Pause to think. Hermes cleans it all up. ## What just happened? When you dictated, Hermes: 1. **Transcribed** your speech to text in real-time 2. **Cleaned up** filler words like "um" and "uh" 3. **Detected context** (which app you're in) 4. **Applied AI formatting** for proper punctuation and capitalization 5. **Inserted the text** at your cursor All of this happens in about a second. ## Next steps Tips for speaking, double-tap for long dictations, and more. How Hermes knows to format emails differently than Slack messages. Automate actions like web searches, window management, and more. Teach Hermes names, technical terms, and custom spellings. # AI Formatting Settings Source: https://docs.hermesvoice.com/settings/ai-formatting Configure how Hermes formats your dictation with AI. ## Core settings | Setting | Default | Description | | ------------------------ | -------- | ---------------------------------------------------------------- | | **Enable AI Formatting** | On | Apply AI to format your dictation | | **Smart Punctuation** | On | Automatically add periods, commas, etc. | | **Auto-Detect App** | On | Detect which app you're in for context | | **Formatting Style** | Per mode | Casual, Semi-Casual, Formal, or Custom — set per formatting mode | ### Disabling AI formatting When AI formatting is off, you get raw transcription with minimal processing. This is useful if you want complete control over formatting. *** ## Vision | Setting | Default | Description | | ----------------- | ------- | --------------------------------------------- | | **Enable Vision** | Off | Let Hermes see your screen for better context | ### What Vision does When enabled, Hermes takes a screenshot when you start dictating. This helps it understand: * Which app you're really in (not just the frontmost window) * What content is on screen (for better context) * The type of text field you're typing in ### Privacy Vision is opt-in and disabled by default. Screenshots are analyzed instantly and immediately discarded. They are never stored or transmitted. *** ## Local AI | Setting | Default | Description | | ---------------- | -------------- | --------------------------------------------- | | **Use Local AI** | Off | Process text on your Mac instead of the cloud | | **Local Model** | qwen-2.5-vl-7b | The AI model to use locally | ### When to use Local AI Local AI is for users who want: * Maximum privacy (no data leaves your Mac) * Offline functionality * Independence from cloud services ### Trade-offs | Local AI | Cloud AI | | -------------------- | ----------------- | | More private | Faster | | Works offline | Better quality | | Uses more battery | Requires internet | | Vision not available | Vision available | *** ## Instructions Add global formatting rules that apply to all your dictation. Instructions is its own section in Hermes—open the app and go to **Instructions** to add your rules. ### Example instructions ``` Always expand contractions. Use British spelling. Never use exclamation marks. Always use the Oxford comma. ``` These instructions are applied after mode-specific rules. *** ## Usage limits | Metric | Free Plan | Paid Plans | | ------------- | ------------------- | ---------- | | AI Formatting | Limited daily words | Unlimited | | Vision | Not available | Available | *** ## Related Customize formatting and instructions per app. How AI formatting works. Control data and privacy options. # Dictation Settings Source: https://docs.hermesvoice.com/settings/dictation Configure language, microphone, audio processing, and text cleanup options. ## Language | Setting | Default | Description | | ------------ | ------- | -------------------------- | | **Language** | Auto | The language for dictation | Choose a specific language or select **Auto** to let Hermes detect the language automatically. Hermes supports 100+ languages. *** ## Microphone | Setting | Default | Description | | ------------------------ | ------- | ---------------------------------------- | | **Microphone Selection** | Auto | Automatically choose the best microphone | | **Preferred Mode** | Auto | Prioritize certain microphone types | ### Microphone modes | Mode | Behavior | | -------------- | ------------------------------------------ | | **Auto** | Hermes picks the best available microphone | | **AirPods** | Prefer AirPods when connected | | **Headphones** | Prefer any connected headphones | | **Built-in** | Always use the Mac's built-in microphone | | **Manual** | Use a specific microphone you select | ### Selecting a specific microphone 1. Set Preferred Mode to **Manual** 2. Choose your microphone from the dropdown 3. The selected microphone will always be used when available *** ## Audio processing | Setting | Default | Description | | ---------------------------------- | ------- | ------------------------------------ | | **Mute speakers during dictation** | Off | Silence system audio while recording | *** ## Text processing | Setting | Default | Description | | ----------------------- | ------- | ------------------------------------- | | **Remove Filler Words** | Off | Remove "um", "uh", "like", etc. | | **Code Mode** | Off | Preserve code syntax during dictation | ### Remove filler words When enabled, common filler words are automatically removed: * "um", "uh", "er" * "like", "you know", "basically" * "so", "actually" (when used as fillers) AI Formatting also removes filler words. This setting applies an additional cleanup layer before AI processing. ### Code mode Enable this when dictating code or technical content. Code mode: * Preserves technical terms exactly * Reduces aggressive punctuation * Maintains formatting characters *** ## Related settings How your text is formatted after dictation. Configure your dictation hotkey. # Interface Settings Source: https://docs.hermesvoice.com/settings/interface Customize the appearance and layout of Hermes. ## Appearance | Setting | Default | Options | | ---------------- | ------- | --------------------------------- | | **Theme** | Auto | Light, Dark, Auto (follow system) | | **Font Size** | Medium | Small, Medium, Large | | **Animations** | On | Enable or disable UI animations | | **Compact Mode** | Off | Use a denser UI layout | ### Theme * **Light**: Bright interface, good for daytime * **Dark**: Dark interface, easier on the eyes at night * **Auto**: Follows your macOS appearance setting *** ## Hermes bar The Hermes bar is the floating interface that appears when you dictate. ### Moving the bar Drag the Hermes bar to reposition it. You can place it in these locations: * **Top Middle** or **Bottom Middle** * **Any of the 4 corners** The bar remembers its position between sessions. ### Hiding the bar Drag the bar off the edge of the screen to hide it. Drag it back onto the screen to show it again. ## Menu bar | Setting | Default | Description | | ---------------------- | ------- | ----------------------------------------- | | **Show Menu Bar Icon** | On | Display Hermes icon in the macOS menu bar | The menu bar icon provides quick access to: * Start/stop dictation * Open Hermes * View recent dictations * Access settings *** ## Related All settings categories. # Settings Overview Source: https://docs.hermesvoice.com/settings/overview A map of all Hermes settings and how they relate to each other. ## Settings architecture Hermes settings are organized into four main categories, plus Vibecode. Understanding how they connect helps you configure the app effectively. ``` ┌──────────────────────────────────────────────────────────────────┐ │ SETTINGS │ ├────────────────┬────────────────┬────────────────┬───────────────┤ │ Dictation │ AI Formatting │ Interface │ Privacy │ ├────────────────┼────────────────┼────────────────┼───────────────┤ │ • Language │ • Modes │ • Theme │ • Cloud Sync │ │ • Microphone │ • Instructions │ • Menu Bar │ • Analytics │ │ • Audio │ • Vision │ • Animations │ • History │ │ • Processing │ • Local AI │ │ • Crash Data │ └────────────────┴────────────────┴────────────────┴───────────────┘ ``` *** ## Vibecode Vibecode is its own settings section. It controls tracking, status pills, completion alerts, and auto-pause video. Open it from **Settings -> Vibecode**. *** ## How settings affect each other Some settings have dependencies or affect other features. Here are the key relationships: ### Privacy Mode → Everything When **Privacy Mode** is enabled: * Cloud Sync is disabled * Analytics is disabled * Crash reports are disabled Privacy Mode is a master switch that blocks all data from leaving your Mac. ### Vision → AI Formatting When **Vision** is enabled: * AI Formatting gets screen context * Better app and content detection * More accurate formatting modes Vision makes AI Formatting smarter, but it's optional for privacy reasons. ### Local AI → Cloud Features When **Local AI** is enabled: * Text processing happens on your Mac * Cloud AI is not used for formatting * Vision context is not available Local AI prioritizes privacy over features. *** ## Settings categories Language, microphone selection, audio processing, and text cleanup options. Formatting modes, talking habits, Vision, and Local AI options. Vibecode tracking, alerts, and auto-pause video settings. Theme, menu bar, and animation settings. Cloud sync, analytics, history retention, and Privacy Mode. *** ## Quick reference: Defaults | Category | Setting | Default | | ----------------- | ------------------- | ------------- | | **Dictation** | Language | English | | **Dictation** | Remove filler words | Off | | **AI Formatting** | Enabled | On | | **AI Formatting** | Smart Punctuation | On | | **AI Formatting** | Vision | Off | | **AI Formatting** | Local AI | Off | | **Interface** | Theme | Auto (system) | | **Interface** | Menu Bar Icon | Visible | | **Interface** | Animations | On | | **Privacy** | Privacy Mode | Off | | **Privacy** | Cloud Sync | On | | **Privacy** | Analytics | On | | **Dictation** | Hotkey | Fn | *** ## Syncing settings Your settings sync across devices automatically when: * **Cloud Sync** is enabled (Settings → Privacy) * You're signed in to your Hermes account * **Privacy Mode** is off If any of these conditions aren't met, settings stay local to your Mac. *** ## Resetting settings To reset all settings to defaults: 1. Open Hermes 2. Go to **Settings** 3. Scroll to the bottom 4. Click **Reset to Defaults** This resets all settings. Your dictionary, triggers, and notes are not affected. # Privacy Settings Source: https://docs.hermesvoice.com/settings/privacy Control how Hermes handles your data, syncing, and analytics. ## Privacy Mode | Setting | Default | Description | | ---------------- | ------- | -------------------------------------------- | | **Privacy Mode** | Off | Master switch that blocks all cloud features | When Privacy Mode is on, Cloud Sync, Analytics, and Crash Reports are all disabled. Your data stays entirely on your Mac. Use Privacy Mode if you: * Work with sensitive information * Prefer complete local control * Don't need cross-device syncing *** ## Individual controls These settings are available when Privacy Mode is off: | Setting | Default | Description | | ----------------- | ------- | --------------------------------------------------- | | **Cloud Sync** | On | Sync settings, dictionary, and notes across devices | | **Analytics** | On | Send anonymous usage data to improve Hermes | | **Crash Reports** | On | Send crash data to help fix bugs | ### Cloud Sync When enabled: * Settings sync across your devices * Dictionary entries appear everywhere * Notes are available on all your Macs When disabled: * Everything stays on this Mac only * Changes won't appear on other devices ### Analytics Anonymous data about how you use Hermes: * Which features you use most * Performance metrics * Error rates This helps us improve Hermes. No personal data or dictation content is included. ### Crash Reports When Hermes crashes, a report can be sent automatically. This includes: * What happened before the crash * System information * Error logs No dictation content is included. *** ## What data stays local Regardless of your settings, these always stay on your Mac: * **Audio recordings** — Never transmitted, processed locally * **Screenshots** (when Vision is used) — Analyzed and immediately discarded * **Dictation content** — Only transmitted for AI formatting (not stored) *** ## Privacy Mode effects | Feature | Privacy Mode Off | Privacy Mode On | | ------------- | ---------------- | --------------- | | Cloud Sync | Available | Disabled | | Analytics | Available | Disabled | | Crash Reports | Available | Disabled | | AI Formatting | Cloud AI | Local AI only | | Vision | Available | Disabled | | Dictation | Normal | Normal | *** ## Related How settings relate to each other. Vision and Local AI options. # Vibecode Settings Source: https://docs.hermesvoice.com/settings/vibecode Configure Vibecode Mode tracking, alerts, and auto-pause video. ## Vibecode Mode Vibecode Mode tracks AI responses in supported coding apps and shows status pills in the Hermes bar. Enable it in **Settings -> Vibecode**. *** ## Settings | Setting | Default | Description | | ------------------------------- | ------- | ------------------------------------------------------------------------- | | **Enable Vibecode Mode** | Off | Show the tracking button in the Hermes bar | | **Show idle tracking pill** | On | Display a pill even when tracking is idle (when off, it appears on hover) | | **Play sound on completion** | On | Play a sound when an AI response finishes | | **Auto-redirect on completion** | Off | Automatically switch back to the tracked app when a response finishes | | **Auto-pause video** | Off | Pause browser videos when you focus your coding app | *** ## Auto-pause video Auto-pause video keeps your focus tight while you code. When you switch into a supported app, Hermes pauses browser playback and resumes it when you return. Auto-pause uses Apple Events to control browser playback. You may need to enable JavaScript from Apple Events: * **Chrome, Brave, Arc, Edge**: `View -> Developer -> Allow JavaScript from Apple Events` * **Safari**: `Develop -> Allow JavaScript from Apple Events` *** ## Supported apps Vibecode Mode works with native apps: * **Terminal apps**: iTerm2, Terminal, Warp, Hyper * **AI code editors**: Cursor, Windsurf, VS Code with Copilot Browser-based chatbots are not supported. *** ## How to start tracking 1. Open a supported app 2. Hover over the Hermes bar and click the eye button 3. Use your AI assistant - Hermes will show a status pill and notify you when it finishes *** ## Auto-pause video setup Auto-pause uses Apple Events to control browser playback. You may need to enable JavaScript from Apple Events: * **Chrome, Brave, Arc, Edge**: `View -> Developer -> Allow JavaScript from Apple Events` * **Safari**: `Develop -> Allow JavaScript from Apple Events` *** ## Related Live status pills, file browser, and workflow shortcuts. Built-in voice commands like "find", "screenshot", and "screen record". # Permissions Source: https://docs.hermesvoice.com/setup/permissions Understanding and granting the macOS permissions Hermes needs to work. ## Why Hermes needs permissions macOS protects your privacy by requiring apps to ask for permission before accessing sensitive features. Hermes needs a few permissions to function—here's what each one does and how to grant it. ## Required permissions ### Microphone **What it does:** Lets Hermes hear your voice for dictation. **Without it:** Hermes can't capture audio. Dictation won't work at all. Click the Apple menu () → System Settings Go to **Privacy & Security → Microphone** Find Hermes in the list and toggle it **on** *** ### Accessibility **What it does:** Lets Hermes type text into applications on your behalf. **Without it:** Hermes can transcribe your speech, but it can't insert the text into apps. Click the Apple menu () → System Settings Go to **Privacy & Security → Accessibility** Click the **+** button, navigate to Applications, and select **Hermes**. Toggle it **on**. If Hermes is already in the list but not working, try removing it and adding it again. Sometimes macOS needs a fresh permission grant. *** ### Input Monitoring **What it does:** Lets Hermes detect when you press your dictation hotkey, even when other apps are in focus. **Without it:** Your hotkey will only work when Hermes is the active app. Click the Apple menu () → System Settings Go to **Privacy & Security → Input Monitoring** Find Hermes and toggle it **on** *** ## Troubleshooting permissions ### Permission isn't sticking If you grant a permission but it doesn't seem to work: 1. **Quit Hermes completely** (right-click the dock icon → Quit, or use ⌘Q) 2. **Remove Hermes from the permission list** in System Settings 3. **Re-add Hermes** to the permission list 4. **Restart Hermes** ### I don't see Hermes in the list 1. Make sure Hermes is installed in your Applications folder 2. Launch Hermes at least once 3. Check that you're looking at the correct permission section ### Permissions were denied by my organization If you're on a work computer, your IT department may restrict certain permissions. Contact them to allow Hermes access, or try using Hermes on a personal device. ### Still having trouble? More detailed solutions for permission issues. *** *** ### Reminders **What it does:** Lets Hermes schedule macOS notifications for note reminders. **Without it:** You can still create notes, but reminders won't trigger notifications. Hermes asks for Reminders access the first time you set a reminder on a note. Click **Allow**. *** ## Quick reference | Permission | Required? | What it enables | | ---------------- | --------- | --------------------------- | | Microphone | Yes | Voice capture | | Accessibility | Yes | Text insertion | | Input Monitoring | Yes | Global hotkey | | Reminders | Optional | Note reminder notifications | # Creating Your First Trigger Source: https://docs.hermesvoice.com/triggers/creating-triggers Step-by-step guide to creating a trigger in Hermes. ## Create a web search trigger Let's create a trigger that searches Google when you say "search google for..." Go to **Settings → Triggers** in Hermes. Click the **+** or **New Trigger** button. Type: `search google for` This is what you'll say to activate the trigger. Select: **Prefix** This means the trigger activates when your speech *starts with* "search google for", and everything after becomes your search query. Choose: **Web Search** * **Search Engine**: Google * **Browser**: Default Leave other settings as default. Click **Save** or **Create**. ## Test your trigger 1. Press your dictation hotkey 2. Say: "search google for best coffee shops nearby" 3. Release the hotkey 4. Google opens with your search *** ## Create a window layout trigger Let's create a trigger that snaps your window to the left half of the screen. Go to **Settings → Triggers**. Click **+** or **New Trigger**. Type: `window left` Select: **Exact** This means the trigger only activates when you say exactly "window left". Choose: **Window Layout** * **Layout**: Left Half Click **Save**. ## Test your trigger 1. Open any window 2. Press your dictation hotkey 3. Say: "window left" 4. Release the hotkey 5. The window snaps to the left half *** ## Tips for good triggers ### Keep phrases short but unique * **Good**: "search google for" — short, distinctive * **Bad**: "I want to search" — too generic, might match normal speech ### Avoid phrases you use naturally If your trigger phrase appears in normal conversation, it will activate unexpectedly. * **Good**: "window left" — unlikely to say in conversation * **Bad**: "can you" — you probably say this often ### Use consistent patterns Create a naming convention for your triggers: * "search \[engine] for" — Google, DuckDuckGo, YouTube * "window \[position]" — left, right, maximize * "open \[app]" — Slack, Safari, Terminal ### Start simple Begin with simple actions like web search and window layouts. Move to advanced triggers (Terminal, AI Calls) once you're comfortable. *** ## Next steps Understand prefix, exact, and contains matching. See all 15 action types. # Default Triggers Source: https://docs.hermesvoice.com/triggers/defaults Pre-built triggers you can enable to get started quickly. ## What are default triggers? Default triggers are pre-configured triggers that come with Hermes. They're ready to use—just enable them and start speaking. *** ## Enabling default triggers Go to **Settings → Triggers**. Click **Setup Defaults** or **Add Default Triggers**. Select the default triggers you want. Click **Enable** or **Save**. *** ## Available defaults ### Hermes AI | Trigger Phrase | Action | | -------------- | --------------------------------- | | "Hermes" | Ask Hermes AI anything | | "Hermes edit" | Edit selected text with AI | | "Hermes reply" | Generate a reply to selected text | ### Web search | Trigger Phrase | Action | | ------------------- | ------------- | | "search google for" | Google search | ### App control | Trigger Phrase | Action | | -------------- | --------------------------- | | "open" | Open any app by name | | "shortcut" | Run a Siri Shortcut by name | ### Notes | Trigger Phrase | Action | | -------------- | ----------------------------------------------- | | "note" | Capture a quick note — say "note buy groceries" | ### File & capture | Trigger Phrase | Action | | --------------- | -------------------------------------- | | "find ..." | Search files in the quick file browser | | "screenshot" | Take a screenshot | | "screen record" | Start a screen recording | ### Open Folder (custom) Open Folder is a trigger action you configure yourself: 1. Go to **Settings -> Triggers** 2. Create a new trigger 3. Choose **Open Folder** as the action type 4. Pick a folder path You can name the trigger however you like, for example: "projects" or "open folder projects". ### Window management | Trigger Phrase | Action | | --------------- | ---------------------------- | | "window left" | Snap to left half | | "window right" | Snap to right half | | "window top" | Snap to top half | | "window bottom" | Snap to bottom half | | "top left" | Snap to top-left quarter | | "top right" | Snap to top-right quarter | | "bottom left" | Snap to bottom-left quarter | | "bottom right" | Snap to bottom-right quarter | | "maximize" | Maximize window | | "fullscreen" | Toggle fullscreen | | "center window" | Center on screen | *** ## Customizing defaults All default triggers can be modified: ### Change the trigger phrase 1. Find the trigger in your list 2. Edit the trigger phrase 3. Save ### Modify the action 1. Open the trigger settings 2. Change action configuration 3. Save ### Disable without deleting 1. Toggle the **Enabled** switch off 2. The trigger remains but won't activate ### Delete completely 1. Select the trigger 2. Click **Delete** 3. Confirm *** ## Creating your own defaults After using Hermes for a while, you'll develop triggers you use everywhere. Consider these as your personal defaults: ### Productivity | Phrase | Action | | ------- | -------------------- | | "copy" | Keyboard shortcut ⌘C | | "paste" | Keyboard shortcut ⌘V | | "undo" | Keyboard shortcut ⌘Z | | "save" | Keyboard shortcut ⌘S | ### Development | Phrase | Action | | ------------- | ----------------- | | "git status" | Terminal command | | "git pull" | Terminal command | | "run build" | Terminal command | | "format code" | Keyboard shortcut | ### Communication | Phrase | Action | | -------------- | -------------- | | "my email" | Text expansion | | "my phone" | Text expansion | | "meeting link" | Text expansion | *** ## Language support Default triggers are available in English by default. Support for additional languages is planned. *** ## Tips * **Enable only what you'll use** — Too many triggers can cause conflicts * **Customize phrases** — Change defaults to match how you naturally speak * **Start with window management** — These are the most immediately useful * **Add gradually** — Enable a few, learn them, then add more *** ## Related Build your own triggers. All trigger types explained. # Matching Modes Source: https://docs.hermesvoice.com/triggers/matching-modes How Hermes matches your speech to trigger phrases. ## Three matching modes When you create a trigger, you choose how the phrase should be matched: | Mode | Matches when... | Best for | | ------------ | ----------------------------------- | ---------------------------- | | **Prefix** | Speech *starts with* the phrase | Commands with variable input | | **Exact** | Speech *is exactly* the phrase | Single-action commands | | **Contains** | Phrase appears *anywhere* in speech | Flexible matching | *** ## Prefix match The most common mode. The trigger activates when your speech starts with the trigger phrase. Everything after the phrase becomes the "remainder" — available for use in your action. ### Example ``` Trigger phrase: "search google for" Matching mode: Prefix Speech: "search google for best coffee nearby" └── phrase ──┘ └─── remainder ───┘ ✅ Match! Remainder = "best coffee nearby" ``` ### Use cases * **Web search**: "search google for \[query]" * **App launch**: "open \[app name]" * **AI prompts**: "ask hermes \[question]" ### The remainder In prefix mode, the text after your trigger phrase is captured as the `{remainder}` variable. Use it in your action configuration: * Web search: The remainder becomes the search query * AI calls: The remainder becomes part of your prompt * Text expansion: The remainder can be inserted in templates *** ## Exact match The trigger only activates when your speech is exactly the trigger phrase — nothing more, nothing less. ### Example ``` Trigger phrase: "window left" Matching mode: Exact Speech: "window left" ✅ Match! Speech: "window left please" ❌ No match (extra words) Speech: "move window left" ❌ No match (extra words at start) ``` ### Use cases * **Window layouts**: "maximize", "fullscreen" * **Single actions**: "paste", "undo" * **Precise commands**: "lock screen" ### When to use exact Use exact matching when: * You don't need any variable input * You want to avoid accidental triggers * The action is a single, specific command *** ## Contains match The trigger activates when the phrase appears anywhere in your speech. ### Example ``` Trigger phrase: "reminder" Matching mode: Contains Speech: "set a reminder for tomorrow" ✅ Match! Speech: "reminder to call mom" ✅ Match! Speech: "don't forget the reminder" ✅ Match! ``` ### Use cases * **Keyword detection**: Trigger on specific words regardless of context * **Natural speech**: Allow more conversational phrasing * **Flexible matching**: When exact position doesn't matter ### Caution Contains mode can trigger unexpectedly if your phrase is a common word. Use distinctive phrases. *** ## How matching works Hermes uses a smart matching system with multiple fallback levels: ### 1. Exact match First, Hermes checks if your normalized speech exactly matches a trigger phrase. ### 2. Smart matching Handles minor variations: * Plurals: "windows" matches "window" * Compound words: "screenshot" matches "screen shot" ### 3. Fuzzy matching Allows small errors (typos or misheard words): * Maximum 2 character difference * First character must match * Short phrases (under 5 characters) allow only 1 difference ### 4. Phonetic matching Matches words that sound alike: * "write" matches "right" * "there" matches "their" ### Normalization Before matching, Hermes normalizes your speech: * Converts to lowercase * Removes punctuation * Collapses multiple spaces * Replaces hyphens with spaces This means "Window-Left!" matches "window left". *** ## Choosing the right mode | Scenario | Recommended Mode | | ------------------------- | ---------------- | | Search with a query | Prefix | | Open app by name | Prefix | | Snap window to position | Exact | | Toggle a setting | Exact | | Detect a keyword anywhere | Contains | | Natural language command | Contains | *** ## Related Step-by-step trigger creation. Use remainder and other variables. # What Are Triggers? Source: https://docs.hermesvoice.com/triggers/overview Automate actions with voice commands—search the web, open apps, control windows, and more. ## The concept Triggers let you automate actions with your voice. When Hermes hears a specific phrase, it performs an action instead of (or in addition to) typing text. ``` You say: "search google for best coffee shops nearby" └── trigger ──┘ └────── remainder ───────┘ Trigger phrase: "search google for" Action: Opens Google with "best coffee shops nearby" ``` ## Why use triggers? * **Speed** — Actions happen instantly, no clicking or typing * **Hands-free** — Control your Mac without touching it * **Consistency** — Same phrase, same result, every time * **Power** — Chain complex workflows together *** ## Trigger anatomy Every trigger has these components: | Component | Description | | ------------------ | --------------------------------------------------- | | **Trigger Phrase** | The words that activate the trigger | | **Matching Mode** | How the phrase is matched (prefix, exact, contains) | | **Action Type** | What happens when triggered | | **Action Config** | Settings specific to that action | | **Enabled** | Whether the trigger is active | *** ## Trigger types Hermes supports 16 types of actions: | Type | What it does | Complexity | | -------------------------------------------------------- | -------------------------------------------------------------- | ---------- | | [Snippets](/triggers/types/snippets) | Replace phrase with text | Simple | | [Web Search](/triggers/types/web-search) | Search the web | Simple | | [App Launcher](/triggers/types/app-launcher) | Open applications | Simple | | [Note Capture](/triggers/types/note-capture) | Save a note by voice | Simple | | [Window Layout](/triggers/types/window-layout) | Snap windows to positions | Simple | | [Keyboard Shortcuts](/triggers/types/keyboard-shortcuts) | Simulate key presses | Medium | | [Apple Shortcuts](/triggers/types/apple-shortcuts) | Run Shortcuts app workflows | Medium | | [Terminal Commands](/triggers/types/terminal) | Run shell commands | Advanced | | [AI Calls](/triggers/types/ai-calls) | Custom AI responses | Advanced | | [Text Formatting](/triggers/types/text-formatting) | Edit/reply to text with AI | Medium | | [File Actions](/triggers/types/file-actions) | Find files, open folders, take screenshots, and record screens | Medium | *** ## How triggers work 1. **You speak** — "window left" 2. **Hermes transcribes** — Converts speech to text 3. **Trigger matching** — Checks if any trigger phrase matches 4. **Action execution** — Runs the associated action 5. **Result** — Window snaps to left half of screen The whole process takes about a second. *** ## Getting started Step-by-step guide to making a trigger. How trigger phrases are matched. Pre-built triggers you can enable. Use dynamic values in your triggers. # AI Calls Source: https://docs.hermesvoice.com/triggers/types/ai-calls Create custom AI-powered responses with your own prompts. ## What it does AI Calls send your input to an AI model with a custom prompt you define. Unlike Hermes' built-in AI formatting, AI Calls give you complete control over the prompt and output. ## AI providers | Provider | Models | API Key Required | | ------------- | -------------------------------------- | ------------------------------- | | **Hermes** | GPT-OSS-120B | No (included with subscription) | | **OpenAI** | GPT-5, GPT-5 Pro | Yes | | **Anthropic** | Claude Sonnet 4.5, Opus 4.5, Haiku 4.5 | Yes | | **xAI** | Grok 4, Grok 4.1 Fast | Yes | *** ## Configuration | Setting | Default | Description | | ------------------- | -------------------- | ----------------------------- | | **Provider** | Hermes | Which AI service to use | | **Model** | Default for provider | Specific model | | **Prompt Template** | Required | Your custom prompt | | **Output Handling** | Inject | What to do with the response | | **Streaming** | Off | Show response as it generates | ### Advanced settings | Setting | Default | Description | | ------------------------ | ------------- | -------------------------------------- | | **Temperature** | 0.7 | Creativity (0 = focused, 2 = creative) | | **Max Tokens** | Model default | Response length limit | | **System Prompt** | None | Additional AI instructions | | **Use Vision** | Off | Include screenshot for context | | **Conversation History** | Off | Remember previous messages | *** ## Output handling | Option | What happens | | ------------------ | -------------------------- | | **Inject** | Insert response at cursor | | **Clipboard** | Copy response to clipboard | | **Notification** | Show as macOS notification | | **Popup** | Display in floating bubble | | **Popup + Inject** | Show popup and insert text | You can select multiple options. *** ## Template variables Use these in your prompt template: | Variable | Description | | ----------------- | -------------------------- | | `{transcription}` | What you said | | `{selected_text}` | Currently highlighted text | *** ## Example prompts ### Summarize **Trigger**: "summarize this" **Prompt**: ``` Summarize the following text in 3 bullet points: {selected_text} ``` ### Translate **Trigger**: "translate to spanish" **Prompt**: ``` Translate the following to Spanish: {transcription} ``` ### Explain code **Trigger**: "explain this code" **Prompt**: ``` Explain this code simply, as if to a junior developer: {selected_text} ``` ### Draft email **Trigger**: "draft email about" **Prompt**: ``` Write a professional email about the following topic: {transcription} Keep it concise and friendly. ``` ### Answer question **Trigger**: "ask hermes" **Prompt**: ``` Answer this question helpfully and concisely: {transcription} ``` ### Fix grammar **Trigger**: "fix this" **Prompt**: ``` Fix any grammar, spelling, or punctuation errors in this text. Only return the corrected text, nothing else: {selected_text} ``` *** ## Creating an AI Call trigger Go to **Settings → Triggers**. Click **+** or **New Trigger**. Enter your trigger phrase (e.g., "summarize this"). **Exact** if using selected text, **Prefix** if using voice input. Choose **AI Call** as the action type. Select your AI provider. Add API key if required. Enter your prompt template using variables. Choose what to do with the response. Click **Save**. *** ## Using your own API keys To use OpenAI, Anthropic, or xAI: 1. Go to **Settings → Integrations** 2. Enter your API key for the provider 3. Keys are stored securely and never shared *** ## Vision context When **Use Vision** is enabled, Hermes includes a screenshot with your prompt. This lets the AI understand what's on your screen. **Use cases**: * "What's wrong with this code?" (AI sees the code) * "Summarize this page" (AI sees the content) * "Help me fill out this form" (AI sees the form fields) *** ## Tips * **Be specific in prompts** — Clear instructions get better results * **Use system prompts** for persistent instructions (e.g., "Always respond in bullet points") * **Test with Hermes AI first** — It's included, no API key needed * **Start with low temperature** (0.3–0.5) for factual tasks * **Use higher temperature** (0.7–1.0) for creative tasks *** ## Related Built-in edit and reply actions. All available template variables. # App Launcher Source: https://docs.hermesvoice.com/triggers/types/app-launcher Open applications with your voice. ## What it does App Launcher opens any application on your Mac. Say "open Slack" and Slack launches. ## Configuration | Setting | Default | Description | | ------------------------- | ------- | ----------------------- | | **Activate on Launch** | On | Bring app to foreground | | **Allow Partial Matches** | On | "saf" matches Safari | *** ## How app matching works Hermes finds your app using smart matching: 1. **Exact match**: "Safari" → Safari 2. **Partial match**: "saf" → Safari (if enabled) 3. **Common names**: "Chrome" → Google Chrome 4. **Fuzzy match**: "Safar" → Safari (handles typos) ### Common corrections Hermes automatically handles spoken variations: | You say | Opens | | -------------- | ------------------ | | "eye term" | iTerm | | "vee ess code" | Visual Studio Code | | "ex code" | Xcode | | "chrome" | Google Chrome | | "word" | Microsoft Word | | "excel" | Microsoft Excel | *** ## Examples | Trigger Phrase | Opens | | ---------------- | ------------------ | | "open safari" | Safari | | "launch slack" | Slack | | "open terminal" | Terminal | | "start vscode" | Visual Studio Code | | "open finder" | Finder | | "launch spotify" | Spotify | *** ## Creating an app launcher trigger ### Option 1: Generic "open" trigger Create one trigger that opens any app by name. Phrase: `open` Matching: **Prefix** Choose **App Launcher** as the action type. Turn on **Allow Partial Matches**. Now "open \[any app]" will work. ### Option 2: Specific app triggers Create dedicated triggers for frequently used apps. **Trigger**: "slack" **Matching**: Exact **Action**: App Launcher (opens Slack) This is faster since there's no "open" prefix needed. *** ## Launch options ### Activate on Launch When enabled, the app comes to the foreground. When disabled, the app opens in the background. **Use cases for background launch:** * Start an app without switching to it * Launch multiple apps in sequence * Begin a process while continuing current work *** ## Tips * **Use prefix matching** for a generic "open \[app]" trigger * **Use exact matching** for single-word app shortcuts ("slack", "safari") * **Partial matching** helps when you don't remember exact app names *** ## Related Open websites instead of apps. # Apple Shortcuts Source: https://docs.hermesvoice.com/triggers/types/apple-shortcuts Run Shortcuts app workflows with your voice. ## What it does Apple Shortcuts runs workflows from the Shortcuts app. If you've built automations in Shortcuts, you can trigger them with Hermes. ## Configuration | Setting | Description | | ----------------- | ------------------------------- | | **Shortcut Name** | The exact name of your shortcut | *** ## How it works 1. Create a shortcut in the Shortcuts app 2. Create a Hermes trigger with the shortcut name 3. Say your trigger phrase 4. The shortcut runs *** ## Example shortcuts ### Home automation **Shortcut name**: "Turn Off Lights" **Trigger phrase**: "lights off" **What it does**: Controls HomeKit lights ### Messaging **Shortcut name**: "Text Wife" **Trigger phrase**: "text wife" **What it does**: Sends a predefined message ### Media control **Shortcut name**: "Workout Playlist" **Trigger phrase**: "play workout music" **What it does**: Plays a specific playlist ### System actions **Shortcut name**: "Do Not Disturb" **Trigger phrase**: "focus mode" **What it does**: Enables Do Not Disturb *** ## Creating an Apple Shortcuts trigger Open the **Shortcuts** app and create (or find) your shortcut. Note the exact name. Go to **Settings → Triggers**. Click **+** or **New Trigger**. Enter your trigger phrase. Choose **Apple Shortcuts** as the action type. Type the exact name of your shortcut. Click **Save**. *** ## Tips * **Shortcut name must be exact** — Capitalization and spacing matter * **Test shortcuts first** — Make sure they work in the Shortcuts app * **Keep shortcuts simple** — Complex shortcuts may timeout * **Use for Apple integrations** — HomeKit, Messages, Music work great *** ## Use cases | Category | Examples | | ------------- | ------------------------------------ | | Smart Home | Lights, thermostat, locks, scenes | | Communication | Send messages, make calls | | Media | Play music, podcasts, control volume | | Productivity | Create reminders, calendar events | | System | Focus modes, settings toggles | *** ## Related Run shell commands instead. # File Actions Source: https://docs.hermesvoice.com/triggers/types/file-actions Find files, open folders, take screenshots, and start screen recordings with voice triggers. ## Find Files Use the **Find Files** action to search your Mac and show results below the Hermes bar. **Default trigger:** `find ...` **Example** * Say: "find budget spreadsheet" * Hermes shows matching files in the quick file browser *** ## Open Folder Use **Open Folder** to open a specific folder in the quick file browser. 1. Go to **Settings -> Triggers** 2. Create a new trigger 3. Choose **Open Folder** as the action type 4. Select a folder path **Example** * Trigger phrase: `projects` * Result: Opens your Projects folder under the Hermes bar *** ## Screenshot Use **Screenshot** to capture an area of your screen and surface the file right away. **Default trigger:** `screenshot` **How it works** * Hermes opens the macOS area screenshot selector (Cmd+Shift+4) * The saved screenshot appears in the quick file browser *** ## Screen Record Use **Screen Record** to open the macOS screen recording toolbar. **Default trigger:** `screen record` **How it works** * Hermes opens the recording toolbar (Cmd+Shift+5) * When you finish recording, the file appears in the quick file browser *** ## Related Built-in commands like "find", "screenshot", and "screen record". The quick file browser and automatic file surfacing. # Keyboard Shortcuts Source: https://docs.hermesvoice.com/triggers/types/keyboard-shortcuts Simulate keyboard input with voice triggers. ## What it does Keyboard Shortcuts sends key presses to your Mac as if you typed them. Say "copy" and it presses ⌘C. Say "save" and it presses ⌘S. ## Configuration | Setting | Default | Description | | ------------------------- | -------- | ------------------------------- | | **Key Sequence** | Required | List of key presses to simulate | | **Target App** | None | Focus specific app first | | **Target URL** | None | Open URL first | | **URL Load Delay** | 1000ms | Wait after opening URL | | **Repeat Count** | 1 | Times to repeat the sequence | | **Delay Between Repeats** | 100ms | Pause between repetitions | *** ## Modifier keys | Modifier | Symbol | Key | | -------- | ------ | -------------- | | Command | ⌘ | Command key | | Option | ⌥ | Option/Alt key | | Control | ⌃ | Control key | | Shift | ⇧ | Shift key | | Function | Fn | Function key | *** ## Supported keys **Letters**: A–Z **Numbers**: 0–9 **Function keys**: F1–F20 **Special keys**: * Return (Enter) * Tab * Space * Delete (Backspace) * Escape * Home, End * Page Up, Page Down * Arrow keys (←↑↓→) **Punctuation**: All standard symbols *** ## Example ideas Here are some shortcuts you could create: | Trigger | Keys | Action | | ------------ | ---- | ----------------- | | "copy" | ⌘C | Copy selection | | "paste" | ⌘V | Paste clipboard | | "cut" | ⌘X | Cut selection | | "undo" | ⌘Z | Undo last action | | "redo" | ⌘⇧Z | Redo | | "save" | ⌘S | Save document | | "select all" | ⌘A | Select everything | | "find" | ⌘F | Open find dialog | | "new tab" | ⌘T | Open new tab | | "close tab" | ⌘W | Close current tab | *** ## Examples ### Simple shortcut **Trigger**: "copy" **Keys**: ⌘C **Result**: Copies selected text ### Multi-key sequence **Trigger**: "select all and copy" **Keys**: ⌘A, then ⌘C (with 100ms delay) **Result**: Selects all, then copies ### Repeated keys **Trigger**: "scroll down" **Keys**: ↓ **Repeat**: 10 times **Delay**: 50ms **Result**: Presses down arrow 10 times ### App-specific shortcut **Trigger**: "format code" **Target App**: Visual Studio Code **Keys**: ⌥⇧F **Result**: Focuses VS Code and formats document *** ## Creating a keyboard shortcut trigger Go to **Settings → Triggers**. Click **+** or **New Trigger**. Enter your trigger phrase (e.g., "save"). Select **Exact** for simple commands. Choose **Keyboard Shortcuts** as the action type. * Add key presses * Set modifiers (⌘, ⌥, ⌃, ⇧) * Add delays between keys if needed * Set target app if needed * Set repeat count if needed Click **Save**. *** ## Advanced usage ### Open URL then press keys 1. Set **Target URL** (e.g., `notion.so`) 2. Set **URL Load Delay** (e.g., 2000ms to let page load) 3. Set your key sequence 4. The URL opens, waits, then keys are pressed ### Sequences with delays Add delays between key presses when apps need time to respond: ``` ⌘A (select all) wait 100ms ⌘C (copy) wait 100ms ⌘V (paste) ``` *** ## Tips * **Use exact matching** — Shortcut commands are specific * **Add delays** if keys seem to be missed * **Test in target apps** — Some apps capture keys differently *** ## Related Run shell commands instead. # Note Capture Source: https://docs.hermesvoice.com/triggers/types/note-capture Save notes by voice — say 'note' followed by what you want to remember. ## What it does The Note Capture trigger saves a note when you say "note" followed by your content. Everything after the trigger phrase becomes the note text. ``` You say: "note buy groceries after work" └─ trigger ─┘ └──── note content ────┘ Result: A note is saved with "buy groceries after work" ``` *** ## How it works 1. **You speak** — "note remember to call the dentist" 2. **Hermes transcribes** — Detects the "note" prefix trigger 3. **Note is saved** — The remainder is captured as a new note 4. **AI classifies** — The note is automatically organized into the right section *** ## Default trigger | Trigger Phrase | Matching Mode | Action | | -------------- | ------------- | ------------------------------------------ | | "note" | Prefix | Save everything after "note" as a new note | This trigger is included in the default trigger set. Enable it from **Settings -> Triggers -> Setup Defaults**. *** ## Configuration When creating or editing a Note Capture trigger, you can configure: | Option | Description | | ---------------- | -------------------------------------------- | | **Destination** | Where to save the note (Hermes Notes) | | **Confirmation** | Whether to show a confirmation before saving | *** ## Examples | You say | Note saved | | --------------------------------- | -------------------------- | | "note buy groceries" | buy groceries | | "note meeting at 3pm tomorrow" | meeting at 3pm tomorrow | | "note great idea for the project" | great idea for the project | *** ## Related How notes work in Hermes. Build your own triggers. # Snippets Source: https://docs.hermesvoice.com/triggers/types/snippets Replace trigger phrases with predefined text. ## What it does Snippets replace your trigger phrase with predefined text. It's the simplest trigger type — say a short phrase, get a longer text. ## Configuration | Setting | Description | | --------------- | --------------------------------- | | **Output Text** | The text to insert when triggered | ## Examples | Trigger Phrase | Output Text | | -------------- | ---------------------------------------------------------- | | "my email" | [john.smith@company.com](mailto:john.smith@company.com) | | "my address" | 123 Main Street, City, State 12345 | | "my phone" | (555) 123-4567 | | "regards" | Best regards, John Smith | | "meeting link" | [https://zoom.us/j/123456789](https://zoom.us/j/123456789) | *** ## Creating a snippet Go to **Triggers** in Hermes. Click **+** or **New Trigger**. Enter what you'll say (e.g., "my email"). Select **Exact** for simple replacements. Choose **Snippets** as the action type. Type the text you want inserted. Click **Save**. *** ## Multi-line text You can include line breaks in your output text. This is useful for: * Email signatures * Code snippets * Template responses * Formatted addresses ### Example: Email signature **Trigger phrase**: "my signature" **Output text**: ``` Best regards, John Smith Senior Developer john@acme.com ``` *** ## Use cases ### Contact information Quick insertion of emails, phone numbers, addresses. ### Canned responses Pre-written replies for common questions or situations. ### Code snippets Frequently used code patterns or boilerplate. ### Templates Meeting notes, status updates, report formats. *** ## Tips * **Keep trigger phrases short** — "addr" is faster than "my home address" * **Use exact matching** — Prevents accidental triggers * **Test your output** — Make sure formatting looks right in your target apps *** ## Related Add dynamic content to snippets. Generate dynamic text with AI. # Terminal Commands Source: https://docs.hermesvoice.com/triggers/types/terminal Run shell commands with your voice. ## What it does Terminal Commands execute shell commands on your Mac. Run scripts, manage files, control system settings, or automate development tasks—all with your voice. Terminal commands run with your user permissions. Be careful with destructive commands like `rm -rf`. ## Configuration | Setting | Default | Description | | --------------------------- | -------------- | ---------------------------------------------- | | **Commands** | Required | List of shell commands to run | | **Execution Mode** | Background | Background (silent) or Visual (shows terminal) | | **Terminal App** | System Default | Which terminal to use | | **Working Directory** | None | Directory to run commands in | | **Close Tab When Complete** | Off | Auto-close terminal tab after running | | **Close Tab Delay** | 2000ms | Wait before closing | *** ## Execution modes ### Background (silent) Commands run without opening a terminal window. Output is captured but not displayed. **Use cases**: * Quick file operations * System commands * Scripts that don't need interaction * Automation that should be invisible ### Visual Commands run in a terminal window you can see. **Use cases**: * Interactive commands * Long-running processes * Debugging scripts * Commands where you want to see output *** ## Supported terminals | Terminal | Notes | | ------------ | ---------------------------- | | Terminal.app | macOS built-in, full support | | iTerm | Full support | | Warp | Keystroke fallback | | Hyper | Keystroke fallback | | Alacritty | Keystroke fallback | | kitty | Keystroke fallback | *** ## Environment variables Your commands have access to special variables: | Variable | Description | | -------------------- | ------------------------------------------------ | | `$HERMES_INPUT` | Your transcription (the remainder after trigger) | | `$HERMES_SCREENSHOT` | Path to screenshot (if captured) | ### Example: Use transcription in command **Trigger**: "create file" **Command**: `touch ~/Desktop/"$HERMES_INPUT".txt` Say: "create file meeting notes" Result: Creates `~/Desktop/meeting notes.txt` *** ## Examples ### Open project in VS Code **Trigger**: "open project" **Command**: `cd ~/projects/myapp && code .` ### Git status **Trigger**: "git status" **Command**: `git status` **Mode**: Visual ### Create and open file **Trigger**: "new note" **Command**: ```bash theme={null} touch ~/Desktop/note-$(date +%Y%m%d).txt && open ~/Desktop/note-$(date +%Y%m%d).txt ``` ### Kill process by name **Trigger**: "kill" **Command**: `pkill -f "$HERMES_INPUT"` Say: "kill chrome" Result: Kills Chrome processes ### Copy text to clipboard **Trigger**: "clip" **Command**: `echo "$HERMES_INPUT" | pbcopy` Say: "clip hello world" Result: "hello world" copied to clipboard *** ## Command sequences You can run multiple commands in sequence: | Command | Delay After | | --------------- | ----------- | | `cd ~/projects` | 0ms | | `git pull` | 0ms | | `npm install` | 0ms | | `npm run dev` | 0ms | Each command runs after the previous one completes. *** ## Security warnings Hermes warns about potentially dangerous commands: | Pattern | Risk | | -------------- | ----------------------- | | `rm -rf` | Recursive deletion | | `sudo` | Elevated privileges | | `mkfs` | Filesystem formatting | | `dd if=` | Disk operations | | `curl \| sh` | Remote script execution | | `wget \| bash` | Remote script execution | | `shutdown` | System shutdown | | `reboot` | System restart | You can still run these commands, but Hermes will ask for confirmation. *** ## Creating a terminal trigger Go to **Settings → Triggers**. Click **+** or **New Trigger**. Enter your trigger phrase (e.g., "git status"). **Exact** for simple commands, **Prefix** if you need input. Choose **Terminal Commands** as the action type. Enter your shell commands. Add delays if needed. Choose Background (silent) or Visual. Click **Save**. *** ## Tips * **Use background mode** for quick, non-interactive commands * **Use visual mode** for long-running or interactive commands * **Set working directory** to avoid `cd` commands * **Use `$HERMES_INPUT`** to pass voice input to scripts * **Test commands manually first** before creating triggers *** ## Related Simulate key presses instead. Run Shortcuts app workflows. # Text Formatting Source: https://docs.hermesvoice.com/triggers/types/text-formatting Edit or reply to selected text using AI. ## What it does Text Formatting uses AI to edit or reply to selected text. Unlike AI Calls (which use custom prompts), Text Formatting provides pre-built actions for common text operations. ## Formatting types | Type | What it does | | --------- | ---------------------------------------------- | | **Edit** | Modify selected text based on your instruction | | **Reply** | Generate a response to selected text | *** ## Configuration | Setting | Default | Description | | ---------------------- | ------- | ------------------------------ | | **Formatting Type** | Edit | Edit or Reply | | **Requires Selection** | Yes | Must have text selected | | **Use Vision** | Off | Include screenshot for context | | **Output Handling** | Inject | What to do with result | *** ## Edit mode Edit mode modifies selected text based on your voice instruction. ### How to use 1. Select the text you want to edit 2. Trigger the action 3. Speak your editing instruction 4. The text is transformed ### Example instructions | You say | What happens | | ------------------- | ------------------------ | | "make this shorter" | Condenses the text | | "make this longer" | Expands with more detail | | "fix the grammar" | Corrects errors | | "make it formal" | Professional tone | | "make it casual" | Relaxed tone | | "bullet points" | Converts to list | | "summarize" | Creates summary | | "simplify" | Simpler language | ### Example **Selected text**: > "I wanted to reach out regarding the upcoming project timeline and discuss the various deliverables we need to complete." **You say**: "make it shorter" **Result**: > "I wanted to discuss the project timeline and deliverables." *** ## Reply mode Reply mode generates a response to selected text. ### How to use 1. Select the text you want to reply to 2. Trigger the action 3. Speak your response intent 4. A formatted reply is generated ### Examples **Selected email**: > "Can you join the meeting tomorrow at 2pm?" **You say**: "yes that works" **Result**: > "Yes, 2pm tomorrow works for me. I'll be there." *** **Selected Slack message**: > "Hey, can you review my PR when you have time?" **You say**: "sure, I'll look this afternoon" **Result**: > "Sure! I'll take a look this afternoon." *** ## Context awareness Text Formatting understands context from multiple sources: 1. **Selected text** — The text you highlighted 2. **Vision** (if enabled) — What's on your screen 3. **Text field context** — Surrounding text 4. **App context** — Which app you're in This helps generate appropriate edits and replies. *** ## Creating a Text Formatting trigger Go to **Settings → Triggers**. Click **+** or **New Trigger**. Enter your trigger phrase (e.g., "edit this" or "reply"). Select **Prefix** so you can speak your instruction. Choose **Text Formatting** as the action type. Select the formatting type. Enable Vision if helpful for context. Click **Save**. *** ## Text Formatting vs AI Calls | Feature | Text Formatting | AI Calls | | ----------------- | -------------------- | ------------------- | | Custom prompts | No | Yes | | Pre-built actions | Yes (Edit/Reply) | No | | Ease of use | Simpler | More flexible | | Best for | Quick edits, replies | Custom AI workflows | Use Text Formatting for quick, common operations. Use AI Calls when you need custom prompts. *** ## Related Custom AI prompts for more control. Built-in edit feature. Built-in reply feature. # Web Search Source: https://docs.hermesvoice.com/triggers/types/web-search Search the web with your voice. ## What it does Web Search opens a search engine with your query. Say "search google for pizza", and Google opens with "pizza" as the search. ## Configuration | Setting | Default | Description | | ------------------- | ----------- | ----------------------------------- | | **Search Engine** | Google | Google, DuckDuckGo, Bing, or Custom | | **Browser** | Default | Which browser to open | | **Query Handling** | Passthrough | How to process the query | | **Open in New Tab** | On | Open in new tab vs current | | **Focus Browser** | On | Bring browser to foreground | *** ## Search engines ### Built-in engines | Engine | URL | | ---------- | ----------------------------- | | Google | `google.com/search?q={query}` | | DuckDuckGo | `duckduckgo.com/?q={query}` | | Bing | `bing.com/search?q={query}` | ### Custom search engines Create searches for any website by entering a custom URL with `{query}` as the placeholder. | Site | Custom URL | | -------------- | ----------------------------------------------------- | | YouTube | `youtube.com/results?search_query={query}` | | Amazon | `amazon.com/s?k={query}` | | Stack Overflow | `stackoverflow.com/search?q={query}` | | Wikipedia | `en.wikipedia.org/wiki/Special:Search?search={query}` | | Reddit | `reddit.com/search/?q={query}` | | GitHub | `github.com/search?q={query}` | | Twitter/X | `x.com/search?q={query}` | *** ## Query handling modes ### Passthrough (default) Uses your speech directly as the query. ``` Speech: "search youtube for coding tutorials" Query: "coding tutorials" ``` ### Template Apply pretext or posttext to modify the query. ``` Pretext: "site:reddit.com " Speech: "search reddit for mechanical keyboards" Query: "site:reddit.com mechanical keyboards" ``` ### Direct URL Opens a URL without a query. Useful for opening specific pages. ``` Trigger: "open github" URL: "github.com" (No query needed) ``` *** ## Browser options | Browser | Description | | ------- | --------------------------- | | Default | Your system default browser | | Safari | Apple Safari | | Chrome | Google Chrome | | Firefox | Mozilla Firefox | *** ## Examples ### Basic web search **Trigger**: "search google for" **Mode**: Prefix **Engine**: Google Say: "search google for best restaurants nearby" Opens: Google with "best restaurants nearby" ### Site-specific search **Trigger**: "search youtube for" **Mode**: Prefix **Engine**: Custom (`youtube.com/results?search_query={query}`) Say: "search youtube for swift tutorials" Opens: YouTube with "swift tutorials" ### Reddit with site filter **Trigger**: "search reddit for" **Mode**: Prefix **Engine**: Google **Pretext**: `site:reddit.com ` Say: "search reddit for mechanical keyboards" Opens: Google with "site:reddit.com mechanical keyboards" *** ## Creating a web search trigger Go to **Settings → Triggers**. Click **+** or **New Trigger**. Enter your trigger phrase (e.g., "search google for"). Select **Prefix** so your query comes after the phrase. Choose **Web Search** as the action type. * Pick your search engine * Choose your browser * Set query handling if needed Click **Save**. *** ## Tips * **Use prefix matching** for searches with queries * **Use exact matching** for opening specific sites (like "open github") * **Create multiple search triggers** for different engines (Google, YouTube, Amazon) *** ## Related Dynamic values in your queries. Open apps instead of websites. # Window Layout Source: https://docs.hermesvoice.com/triggers/types/window-layout Snap windows to predefined positions with your voice. ## What it does Window Layout positions your current window to a screen region. Say "window left" and your window snaps to the left half of the screen. ## Available layouts | Layout | What it does | | ------------------------ | ------------------------------------- | | **Left Half** | Left 50% of screen | | **Right Half** | Right 50% of screen | | **Top Half** | Top 50% of screen | | **Bottom Half** | Bottom 50% of screen | | **Top Left Quarter** | Top-left corner (25%) | | **Top Right Quarter** | Top-right corner (25%) | | **Bottom Left Quarter** | Bottom-left corner (25%) | | **Bottom Right Quarter** | Bottom-right corner (25%) | | **Center** | Center on screen (keeps current size) | | **Maximize** | Fill screen (respects menu bar) | | **Fullscreen** | Toggle macOS fullscreen mode | *** ## Example triggers | Trigger Phrase | Layout | | -------------- | ---------------- | | "window left" | Left Half | | "window right" | Right Half | | "top left" | Top Left Quarter | | "maximize" | Maximize | | "fullscreen" | Fullscreen | *** ## Creating a window layout trigger Go to **Triggers** in Hermes. Click **+** or **New Trigger**. Enter your trigger phrase (e.g., "window left"). Choose **Window** as the action type. Select the layout (e.g., Left Half). Click **Save**. *** ## Multi-monitor support Window layouts detect which screen your window is on and snap to that screen. # Variables Source: https://docs.hermesvoice.com/triggers/variables Use dynamic values in your trigger actions. ## What are variables? Variables let you insert dynamic values into your trigger actions. Instead of hardcoding text, you can use placeholders that get replaced when the trigger runs. *** ## Available variables | Variable | Description | | ----------------- | -------------------------- | | `{transcription}` | What you said | | `{selected_text}` | Currently highlighted text | *** ## Using variables ### In AI Calls ``` Summarize this text: {selected_text} Keep it under 50 words. ``` ### In Web Search ``` {transcription} ``` *** ## Related Using variables in AI prompts. Using variables in search queries. # Audio Issues Source: https://docs.hermesvoice.com/troubleshooting/audio Fixing microphone and audio problems with Hermes. ## Microphone not detected ### Symptoms * No audio input shown in Hermes * "No microphone found" message * Audio meter shows no activity ### Fixes **Check system audio settings:** 1. Go to **System Settings → Sound → Input** 2. Make sure a microphone is selected 3. Speak and verify the input level meter moves **Check Hermes microphone settings:** 1. Go to **Settings → Dictation → Microphone** 2. Try setting to **Auto** first 3. If Auto doesn't work, manually select your microphone **Check physical connection:** * USB microphones: Try a different port * Bluetooth: Make sure it's connected and selected * Built-in: Make sure nothing is covering the mic *** ## Wrong microphone being used ### Symptoms * Hermes uses built-in mic instead of external * Audio quality is poor * Picks up background noise ### Fixes **Set preferred microphone:** 1. Go to **Settings → Dictation → Microphone** 2. Change **Preferred Mode** to **Manual** 3. Select your preferred microphone **Microphone modes:** | Mode | Behavior | | ---------- | ------------------------------- | | Auto | Hermes picks the best available | | AirPods | Prefer AirPods when connected | | Headphones | Prefer any connected headphones | | Built-in | Always use Mac's built-in mic | | Manual | Use the specific mic you select | *** ## Audio is too quiet ### Symptoms * Hermes can't hear you * Only picks up when you speak loudly * Misses words frequently ### Fixes **Increase input volume:** 1. Go to **System Settings → Sound → Input** 2. Increase the **Input volume** slider 3. Speak at normal volume and check the level meter **Speak closer to microphone:** * Position mic closer to your mouth * External mics typically work better *** ## Audio is too sensitive ### Symptoms * Picks up background noise * Triggers on non-speech sounds * Records when you're not speaking ### Fixes **Use a directional microphone:** * Cardioid mics pick up sound from one direction * Reduces background noise **Reduce ambient noise:** * Close windows * Turn off fans/AC if possible * Use noise-canceling microphones *** ## Bluetooth microphone issues ### Symptoms * AirPods or Bluetooth headset not working * Audio cuts out * Delay in transcription ### Fixes **Check connection:** 1. Go to **System Settings → Bluetooth** 2. Make sure your device is connected 3. Try disconnecting and reconnecting **Select as input:** 1. Go to **System Settings → Sound → Input** 2. Select your Bluetooth device as input **Configure Hermes:** 1. Go to **Settings → Dictation → Microphone** 2. Set Preferred Mode to **AirPods** or **Headphones** **Bluetooth audio quirks:** * Bluetooth may add slight latency * Audio quality may be lower than wired * Some devices have separate call vs media modes *** ## Audio feedback or echo ### Symptoms * Hermes picks up its own output * Echo in transcription * Looping audio ### Fixes **Mute speakers during dictation:** 1. Go to **Settings → Dictation** 2. Enable **Mute Speakers During Dictation** **Use headphones:** * Prevents mic from picking up speaker output * Better quality overall **Reduce speaker volume:** * Lower system volume when dictating * Use headphones for audio playback *** ## Recording cuts off too early ### Symptoms * Dictation ends before you finish speaking * Only captures first few words * Stops during pauses ### Fixes **Use double-tap:** * Double-tap your hotkey for hands-free mode * Tap once to stop instead of releasing *** ## Still having audio issues? 1. **Test in other apps** — Try Voice Memos or QuickTime to verify mic works 2. **Try a different microphone** — Rule out hardware issues 3. **Restart Hermes** — Clears audio session state 4. **Restart your Mac** — Resets system audio Check microphone permission. Other common problems. # Common Issues Source: https://docs.hermesvoice.com/troubleshooting/common-issues Solutions to frequently encountered problems with Hermes. ## Hermes isn't transcribing **Symptoms**: You press your hotkey but nothing happens, or the Hermes bar appears but no text is recognized. ### Check microphone permission 1. Go to **System Settings → Privacy & Security → Microphone** 2. Make sure Hermes is listed and enabled 3. If not listed, re-open Hermes and grant permission when prompted ### Check your microphone 1. Open **System Settings → Sound → Input** 2. Speak and watch the input level meter 3. Make sure your microphone is working and selected ### Check hotkey 1. Make sure you're pressing the correct hotkey 2. Try pressing and holding (not just tapping) 3. Check **Settings → Keyboard Shortcuts** to verify your hotkey Detailed permission troubleshooting. *** ## Text isn't appearing in apps **Symptoms**: Hermes transcribes your speech, but the text doesn't appear where your cursor is. ### Check Accessibility permission 1. Go to **System Settings → Privacy & Security → Accessibility** 2. Make sure Hermes is listed and enabled 3. If it's there but not working, remove it and add it again ### Check cursor focus 1. Make sure your cursor is in a text field 2. Click in the text field before dictating 3. Some apps or fields may not support text insertion ### Try a different app Test in a simple app like TextEdit or Notes. If it works there, the issue is with the specific app you were trying. *** ## Hotkey not working **Symptoms**: Pressing your hotkey doesn't start dictation. ### Check Input Monitoring permission 1. Go to **System Settings → Privacy & Security → Input Monitoring** 2. Make sure Hermes is listed and enabled ### Check for conflicts Another app may be using the same hotkey. Try a different key combination in **Settings → Keyboard Shortcuts**. ### Restart Hermes Quit Hermes completely (⌘Q) and reopen it. Keyboard shortcuts settings. *** ## AI formatting isn't working **Symptoms**: Text appears but isn't formatted—no punctuation, capitalization, or filler word removal. ### Check if AI formatting is enabled 1. Go to **Settings → AI Formatting** 2. Make sure **Enable AI Formatting** is on ### Check your plan AI formatting may be limited or unavailable on the Free plan. Check your plan status in **Settings → Account**. ### Check internet connection AI formatting requires an internet connection (unless using Local AI). Make sure you're online. *** ## Hermes is slow **Symptoms**: Long delay between speaking and text appearing. ### Check internet connection Cloud AI formatting requires internet. A slow connection causes delays. ### Try Local AI Enable **Local AI** in **Settings → AI Formatting** for on-device processing. It's slower than cloud but works offline. ### Close other apps Hermes uses your Mac's resources. Closing resource-intensive apps may help. ### Check CPU usage Open **Activity Monitor** and look for high CPU usage. If Hermes is using too much, try restarting it. *** ## Filler words aren't being removed **Symptoms**: "Um", "uh", "like" appear in your text. ### Enable filler word removal 1. Go to **Settings → Dictation** 2. Enable **Remove Filler Words** Or rely on AI formatting, which also removes fillers when enabled. *** ## Wrong language detected **Symptoms**: Hermes transcribes in the wrong language. ### Set your language 1. Go to **Settings → Dictation** 2. Select your correct language, or use **Auto** for automatic detection *** ## Sync isn't working **Symptoms**: Changes don't appear on other devices. ### Check Cloud Sync 1. Go to **Settings → Privacy** 2. Make sure **Cloud Sync** is enabled 3. Make sure **Privacy Mode** is off ### Check your account 1. Make sure you're signed in 2. Check that you're using the same account on all devices ### Force sync 1. Go to **Settings → Account** 2. Look for a **Sync Now** option *** ## Still having issues? If these solutions don't help: 1. **Restart Hermes** — Quit completely and reopen 2. **Restart your Mac** — Clears system-level issues 3. **Update Hermes** — Make sure you're on the latest version 4. **Contact support** — [Get in touch](https://hermesvoice.com/support) Detailed permission troubleshooting. Microphone and audio troubleshooting. # Permissions Issues Source: https://docs.hermesvoice.com/troubleshooting/permissions Fixing macOS permission problems with Hermes. ## Overview Hermes needs several macOS permissions to function. If any are missing or misconfigured, features won't work correctly. | Permission | What breaks without it | | ---------------- | --------------------------- | | Microphone | No audio capture at all | | Accessibility | Text won't insert into apps | | Input Monitoring | Hotkey won't work globally | | Screen Recording | Vision context unavailable | *** ## Microphone permission ### Symptoms * Hermes bar appears but shows no audio * "Microphone access required" error * Transcription never starts ### Fix Apple menu () → System Settings Privacy & Security → Microphone Find Hermes in the list and toggle it **on**. If Hermes isn't listed, you may need to trigger a permission prompt by trying to dictate. ### Still not working? 1. Toggle Hermes **off**, then **on** again 2. Quit and restart Hermes 3. Restart your Mac *** ## Accessibility permission ### Symptoms * Hermes transcribes but text doesn't appear * "Accessibility access required" error * Text appears in Hermes but not in target app ### Fix Apple menu () → System Settings Privacy & Security → Accessibility If Hermes is listed, make sure it's toggled **on**. If not listed, click **+**, navigate to Applications, and select Hermes. ### If Hermes is listed but not working 1. **Remove Hermes** from the list (select it, click **-**) 2. **Add it again** (click **+**, select Hermes) 3. **Restart Hermes** Sometimes macOS caches permissions incorrectly, and re-adding fixes it. *** ## Input Monitoring permission ### Symptoms * Hotkey only works when Hermes is focused * Hotkey doesn't respond at all * Other apps capture your hotkey ### Fix Apple menu () → System Settings Privacy & Security → Input Monitoring Find Hermes and toggle it **on**. ### Still not working? Try a different hotkey. Some keys may be captured by the system or other apps before Hermes can detect them. *** ## Screen Recording permission ### Symptoms * Vision context doesn't work * App detection is inaccurate * "Screen Recording access required" message ### Fix Apple menu () → System Settings Privacy & Security → Screen Recording (On newer macOS, this may be called "Screen & System Audio Recording") Find Hermes and toggle it **on**. Screen Recording is optional. Hermes works without it, but Vision context won't be available. *** ## Permission was denied by organization If you're on a work computer, your IT department may restrict permissions. ### Options 1. **Contact IT** — Ask them to allow Hermes 2. **Use a personal device** — If work computer can't be configured 3. **Request an exception** — Some organizations allow exceptions for productivity tools *** ## Resetting all permissions If nothing else works, you can reset Hermes' permissions completely: This removes Hermes from all permission lists. You'll need to re-grant everything. 1. Quit Hermes 2. Open **Terminal** 3. Run these commands: ```bash theme={null} tccutil reset Microphone com.hermes.app tccutil reset Accessibility com.hermes.app tccutil reset PostEvent com.hermes.app tccutil reset ScreenCapture com.hermes.app ``` 4. Reopen Hermes 5. Grant permissions when prompted Replace `com.hermes.app` with the actual bundle ID if different. *** ## Related Initial permission setup guide. Other common problems.