Tinycast
A tiny, fully native macOS launcher — the essentials, without the bloat.
Around 3 MB on disk and under 100 MB of RAM — no Electron, no telemetry, no background CPU churn. Just SwiftUI + AppKit with zero dependencies. It's fast because there's nothing to it.
Features
- App launcher — fuzzy-search and launch anything, pin favorites, see what's running, quit an app or every app at once.
- Custom commands — run named shell commands through fuzzy search or their own global hotkeys.
- Calculator — do math, unit and live currency conversions inline, right in the palette.
- Clipboard history — text and images, searchable, pasted back into the app you were using.
- Global hotkey — one shortcut summons the palette from anywhere.
- Per-app hotkeys — bind a key to an app; press it to toggle (focus/hide).
Install
brew trust --tap abue-ammar/tinycast # required for third-party taps
brew tap abue-ammar/tinycast
brew install --cask tinycast # stable
brew install --cask tinycast@beta # beta (installs side-by-side)
Each channel is a separate app (Tinycast.app, Tinycast Beta.app) with its own settings and
permissions, so you can run stable next to the beta.
Tinycast is self-signed. Installing via Homebrew clears the macOS quarantine flag for you
automatically on every install and update, so there's nothing to run. (If you download the DMG
directly from Releases instead, clear it once: xattr -dr com.apple.quarantine "/Applications/Tinycast.app".)
Permissions
Accessibility — needed only so Tinycast can paste a clipboard item back into the app you came from. You're prompted the first time you paste; grant it in System Settings → Privacy & Security → Accessibility.
Using it
- Open Settings → General and record a global shortcut to summon Tinycast.
- 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.
Building from source
See docs/development.md for the toolchain, build, packaging, release, and website workflows, and docs/ui.md for the UI design system.
Contributing
[!IMPORTANT] Open an issue before you write code — this is mandatory. Get the bug or the feature agreed on first; discussing it in the issue (or on Discord) is strongly encouraged. A PR with no agreed issue behind it gets closed however good the patch is, and the work is wasted. Typo and docs-only fixes are the one exception.
Read CONTRIBUTING.md first — it covers the memory budget every PR is held to, the before/after video requirement for visual changes, and why features get declined. Every PR fills in the pull request template. Security issues go through SECURITY.md, not the issue tracker.
Questions, ideas, or just want to follow along? Join the Discord.
Contributors
Thank you to everyone who has put time into Tinycast — every fix and idea shows up in something people use every day.