A tiny, fully native macOS launcher. One hotkey, everything you reach for all day, under 100 MB of RAM.
SwiftUI and AppKit, zero third-party dependencies, no Electron and no telemetry.
Nanocast is my personal fork of Tinycast by Abue Ammar.
- App launcher — fuzzy-search and launch anything, pin favorites, see what's running, quit an app or every app at once.
- Global hotkey — one shortcut summons the palette from anywhere.
- Per-app hotkeys — bind a key to an app; press it to toggle (focus/hide).
- Dictionary — look a word up with the Define Word command, or define whatever you typed from the launcher's fallbacks, read from the Mac's own dictionaries.
- Clipboard history — text and images, searchable, pasted back into the app you were using.
- Calculator — do math, unit, live currency and crypto conversions inline, right in the palette.
- Quicklinks — turn a URL, search, file or deeplink into a command, with placeholders for typed input, the clipboard or the date.
- Apple Shortcuts — search and run the shortcuts you built in the Shortcuts app, with aliases and global hotkeys.
- Snippets — reusable Markdown templates with dynamic placeholders, arguments, nested references and optional keyword expansion.
- Custom commands — run named shell commands through fuzzy search or their own global hotkeys.
- Window management — 34 Rectangle-style actions: halves, quarters, thirds, sizing, nudging, display moves, fullscreen and Spaces.
- System actions — lock, sleep, restart, empty trash, toggle appearance, Bluetooth, mute, hidden files, and more.
- Calendar and meetings — your next meeting on the empty palette and in the menu bar, one key to join it, or let it join itself.
- Notes — an unlimited collection of plain Markdown files in one floating editor, searchable from the palette and rendered as you write.
- Emoji picker — a searchable emoji grid, one keystroke away.
- Screenshot — freeze the screen, pick a window or a pixel-exact area with a loupe, mark it up with shapes, a highlighter, text, numbered steps and mosaic, then copy, save or pin it. A scrolling capture scrolls a long page by itself, stitches it into one image and opens it in the editor.
- Backup and import — export your settings to a file, or import your setup from Raycast.
Nanocast needs macOS 27 or later, which runs only on Apple silicon. This repository is its own Homebrew tap:
brew tap polo871209/nanocast https://github.com/polo871209/nanocast
brew trust --tap polo871209/nanocast # required for third-party taps
brew install --cask polo871209/nanocast/nanocastHomebrew clears the macOS quarantine flag on every install and update, so there is nothing else to
run. Downloading a DMG from Releases instead?
Nanocast is self-signed, so clear the flag once:
xattr -dr com.apple.quarantine "/Applications/Nanocast.app".
Accessibility — needed when Nanocast pastes or expands text into another app or scrolls a page for a scrolling capture, and the only permission snippet keyword expansion needs. You're prompted when you first use a feature that needs it; grant access in System Settings → Privacy & Security → Accessibility. Snippets ship disabled, and keystrokes are matched locally, never stored and never sent anywhere.
Screen Recording — needed by Capture Screenshot and the window switcher's previews. Nanocast asks the first time you capture. Grant access in System Settings → Privacy & Security → Screen & System Audio Recording.
- Open Settings → General and record a global shortcut to summon Nanocast.
- Press it anywhere → the palette floats in. Type to filter, ↵ to launch.
- Tab switches between Apps and Clipboard; ↑/↓ move, Esc dismisses.
- Settings → Shortcuts — search an app or custom command and record a global shortcut.
- Settings → Snippets — enable the feature, then create templates with expansion keywords.
See docs/development.md for the toolchain, build, packaging and release workflows. docs/ indexes everything else — architecture, engineering standards, the design system and one document per feature.
