Terminal utilities for MacOS: install apps, force close apps, clear cache, add desk notifications, change shell, etc.
- What can we do with
umac? - 🗝 Prerequisites
- 🚀 Quick start
- 🔑 Installation
- ⚙️ Usage
- ☑️ TO DO
- ➕ More
- 👨💻 Development
- ❤️ Donate
- 📜 License
- ✨ About us
- Set dialogs
- Set notifications
- Set voice messages
- open files & URLs
- Close apps
- Clear cache
- Install apps
- Change terminal shell
- Add workflows
- Run scripts
- ...
- A system based on DarwinOS, that is, any Apple computer 🍎
You can also use umac as a JS / TS library directly in your project.
Quickly run the command line with:
npx umac <command> [...flags]You can download the binary directly from the releases section
npm install umac
# or
pnpm install umac
# or
yarn add umac
# or
bun add umac
# or
deno add umacumac [option/s] [--flags/s]umac [option/s] [--flags/s] --helpWith umac you can do many different things. The idea could be to add more and more, who knows 😎
Here is a list of how to use umac
umac app --helpℹ️ You can also use umac/app independently.
Install apps using Homebrew.
Don't worry if
Homebrewis not installed on your system, umac should do it for you automatically 🔮
umac app install appName1 appName2
# or
umac app i appName1 appName2Uninstall apps using Homebrew.
umac app uninstall appName1 appName2
# or
umac app u appName1 appName2Search apps in HomeBrew.
umac app search appName
# or
umac app s appNameumac app undev --helpChange or show status for unidentificated apps.
Show status for no identificated apps
umac app undev Change status for no identificated apps
umac app dev --enableumac app dev --disableumac app close --helpClose apps from a list
umac app close --askClose all apps
umac app close '*'Close specific apps
umac app close app1 app2Close all apps that contains avast name
umac app close "*Avast*"List system apps.
umac app list
# or
umac app list '!Avast*' '!*.avast*'umac cache --helpℹ️ You can also use umac/cache independently.
umac cache openRemove macOS cache from a list.
umac cache rmumac open --helpℹ️ You can also use umac/open independently.
# Open path in Finder or URL in default browser.
umac open {URL/path}
# Open in Safari
umac open {URL/path} --safari
# Open in Firefox
umac open {URL/path} --firefox
# Open in Chrome
umac open {URL/path} --chrome
# Open in Visual Studio Code
umac open {path} --vscode
# ...
umac desktop --help
# or (short command)
umac desk -hℹ️ You can also use umac/desktop independently.
Remove Desktop image.
umac desktop remove
# or
umac desktop remove imageNameChange the Desktop image in the desktop pictures directory.
umac desktop change imagePathAdd a Desktop image to the desktop pictures directory.
umac desktop add imagePath
# or
umac desktop add imagePath --dir
# or
umac desktop add imagePath --sysumac interacting --help
# or (short command)
umac interact -hℹ️ You can also use umac/interacting independently.
Set a macOS notification
umac interact notification --helpSet a macOS dialog
umac interact dialog --helpSet a macOS alert
umac interact alert --helpDisplay voice message
umac interact say --helpSet custom prompts like text, choices, files, color, etc.
umac interact prompt --helpumac terminal --help
# or (short command)
umac term --helpℹ️ You can also use umac/terminal independently.
Change shell.
umac terminal shell changeList available shells.
umac terminal shell listView current shell.
umac terminal shell currentMacOS Spotlight utils
umac spotlight --helpℹ️ You can also use umac/spotlight independently.
To see Spotlight status.
umac spotlight <path>To enable Spotlight.
umac spotlight --enableTo disable Spotlight.
umac spotlight --disableToggle Spotlight status.
umac spotlight --toggleRun multiple language scripts (applescript, jxa, osascript, python, js, bash etc)
umac run --helpℹ️ You can also use umac/run independently.
Run jxa file script
umac run jxa --helpRun osascript file script
umac run osascript --helpRun js|ts file script
umac run node|js|ts --helpRun bash file script
umac run bash --helpRun python file script
umac run python --helpRun multiple language scripts (applescript, jxa, osascript, python, js, bash etc)
umac system --help
# or (short command)
umac sys -hℹ️ You can also use umac/system independently.
System updates
umac system update --help
# or (short command)
umac sys up -hClose down the system at a given time
umac system shutdown --help
# or (short command)
umac sys down -hReboot system
umac system reboot --help
# or (short command)
umac sys reboot -hShow hardware information
umac system hardware --help
# or (short command)
umac sys hardware -hShow system version
umac system version --help
# or (short command)
umac sys version -hMacOS Finder utils
umac finder --helpℹ️ You can also use umac/finder independently.
Close all Finder windows and force exit from Finder.
umac finder closeReload Finder.
umac finder reloadShow, hide or toggle dotfiles visibility.
umac finder dotfiles
# or
umac finder dotfiles --toggle
# or
umac finder dotfiles --enable
# or
umac finder dotfiles --disableMacOS Workflow utils
umac workflow --help
# or (short command)
umac wf -hℹ️ You can also use umac/workflow independently.
Lists all available workflows in the services directory.
umac workflow listCopies all workflows to the specified directory.
umac workflow copy --output <dir>Opens the services directory in the file explorer.
umac workflow open-dirPrompts the user to select and open a workflow with Automator.
umac workflow openOpens a new project in Automator.
umac workflow newMacOS Appearance utils
umac appearance --helpℹ️ You can also use umac/appearance independently.
Dark mode utilities. Toggle, set, get...
umac appearance dark-mode
# or
umac appearance dark-mode --toggle
# or
umac appearance dark-mode --enable
# or
umac appearance dark-mode --disableColor utilities. Like accent, highlight...
umac appearance color
# or
umac appearance color accent
# or
umac appearance color highlightMacOS Disk utils
umac disk --helpℹ️ You can also use umac/disk independently.
List disks and their partitions.
umac disk list
# or
umac disk list --res=jsonShow disk space usage.
umac disk space
# or
umac disk space --res=jsonShow detailed info about a disk or volume.
umac disk info /dev/disk0Eject a disk or volume.
umac disk eject disk3s1MacOS Messages.app utils
umac messages --helpℹ️ You can also use umac/messages independently.
Open the Messages app.
umac messages openSend a message to a buddy handle or a chat id.
umac messages send -t "angel@pigeonposse.com" -m "Hola!"
# or
umac messages send -t "iMessage;-;angel@pigeonposse.com" -m "Hola!"List the currently open chats.
umac messages list
# or
umac messages list --name "Work"
# or
umac messages list --participants "angelo@pigeonposse.com"Read the messages of a chat.
umac messages messages "iMessage;-;angelo@pigeonposse.com"
# or
umac messages messages "iMessage;-;angelo@pigeonposse.com" --limit 10List the services configured in Messages.
umac messages servicesMacOS Notes utils
umac notes --helpℹ️ You can also use umac/notes independently.
Open Apple Notes app or focus a specific note.
umac notes open
# or
umac notes open "Ideas"Create and focus a new blank note or a titled note in a folder path.
umac notes open-new
# or
umac notes open-new "Quick Note"Create a new note (creates parent folders if missing).
umac notes add "Shopping List"
# or
umac notes add "Work" "Projects" "Q1 Roadmap"Remove a note by title or path.
umac notes remove "Shopping List"
# or
umac notes remove "Work" "Projects" "Q1 Roadmap"Create a new folder or nested subfolders hierarchy.
umac notes add-folder "Work"
# or
umac notes add-folder "Work" "Projects" "2026"Remove a folder or nested folder path.
umac notes remove-folder "Work" "Old Projects"
# or
umac notes remove-folder "Work" "Drafts" --only-notesMove a note to a target folder.
umac notes move "Shopping List" --to "Work"Rename a note or folder.
umac notes rename "Shopping List" --name "Groceries"Check if a note or folder exists.
umac notes exists "Work"
# or
umac notes exists "Work" "Projects" "Q1 Roadmap"List all notes with their metadata.
umac notes list
# or
umac notes list --name "Meeting"
# or
umac notes list --folder "Work" "Projects"MacOS Shortcuts utils
umac shortcuts --helpℹ️ You can also use umac/shortcuts independently.
Open the Shortcuts app.
umac shortcuts openList shortcuts or folders.
umac shortcuts list
# or
umac shortcuts list --folder "My Folder"
# or
umac shortcuts list --foldersRun a shortcut.
umac shortcuts run "My Shortcut"
# or
umac shortcuts run "Resize Image" -i "photo.jpg" -o "resized.jpg"View a shortcut in the Shortcuts app.
umac shortcuts view "My Shortcut"umac is an open-source project and its development is open to anyone who wants to participate.
Help us to develop more interesting things.
This software is licensed with MIT.
PigeonPosse is a code development collective focused on creating practical and interesting tools that help developers and users enjoy a more agile and comfortable experience. Our projects cover various programming sectors and we do not have a thematic limitation in terms of projects.

