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_INPUTYour transcription (the remainder after trigger) $HERMES_SCREENSHOTPath 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 :
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 ~/projects0ms git pull0ms npm install0ms npm run dev0ms
Each command runs after the previous one completes.
Security warnings
Hermes warns about potentially dangerous commands:
Pattern Risk rm -rfRecursive deletion sudoElevated privileges mkfsFilesystem formatting dd if=Disk operations curl | shRemote script execution wget | bashRemote script execution shutdownSystem shutdown rebootSystem restart
You can still run these commands, but Hermes will ask for confirmation.
Creating a terminal trigger
Open Triggers
Go to Settings → Triggers .
Create new trigger
Click + or New Trigger .
Set the phrase
Enter your trigger phrase (e.g., “git status”).
Choose matching mode
Exact for simple commands, Prefix if you need input.
Select Terminal
Choose Terminal Commands as the action type.
Add commands
Enter your shell commands. Add delays if needed.
Set execution mode
Choose Background (silent) or Visual.
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
Keyboard Shortcuts Simulate key presses instead.
Apple Shortcuts Run Shortcuts app workflows.