Tinycast: A Native, Open-Source macOS Launcher Under 100 MB

Tinycast is a native macOS launcher combining fuzzy search, clipboard history, hotkeys, snippets, window management, and Raycast extensions.

Tinycast: A Native, Open-Source macOS Launcher Under 100 MB

Modern macOS launchers increasingly resemble small operating systems: they index applications, manage windows, expand snippets, store clipboard history, and connect to external services. Tinycast takes a different approach. It aims to provide the same kind of command-center workflow while remaining a small, fully native macOS application that uses SwiftUI and AppKit rather than Electron.

The project describes itself as a launcher, hotkey utility, and clipboard history manager that stays under 100 MB of RAM. It has no third-party runtime dependencies, no telemetry, and is released under the AGPL-3.0 license.

Why Tinycast is interesting

A launcher is useful only when it is faster than navigating menus, Finder windows, and system settings manually. Tinycast puts those actions behind one global shortcut and a searchable command palette. From there, developers can launch applications, search files, paste previous clipboard contents, run shell commands, manage windows, and perform system actions without leaving the current workflow.

The native implementation matters for more than branding. SwiftUI and AppKit allow Tinycast to integrate directly with macOS APIs, including Spotlight, global shortcuts, accessibility services, window management, and menu-bar behavior. Avoiding Electron also removes the memory and packaging overhead associated with shipping a browser runtime.

Core features

Application launcher

Tinycast fuzzy-searches installed applications and lets you pin frequently used entries. The launcher can also show currently running applications, quit one application, or quit every application at once.

The normal workflow is intentionally simple:

  1. Press the configured global shortcut.
  2. Type part of an application or command name.
  3. Press Enter to launch it.
  4. Press Escape to dismiss the palette.

Global and per-application hotkeys

A global shortcut summons the palette from anywhere in macOS. You can also assign individual global shortcuts to applications or custom commands. For an application, pressing its shortcut toggles focus or hides it, which is useful for tools such as terminals, editors, and communication apps.

Shortcuts are configured under Settings → Shortcuts, where you can search for an application or custom command and record its key combination.

Clipboard history

Tinycast stores searchable text and image clipboard entries. The clipboard interface can be reached directly from the palette, and a selected item can be pasted back into the application you were using.

The palette separates applications and clipboard content into tabs. Press Tab to switch between them, use the arrow keys to navigate, and press Enter to select an item.

Spotlight-backed file search

Tinycast searches files and folders from directories you choose through Spotlight rather than maintaining a separate application index. This design avoids duplicating macOS indexing work and keeps the feature focused: find a file, open it, or navigate to its folder.

Calculator and conversions

Inline calculations support ordinary arithmetic, unit conversions, live currency conversions, and cryptocurrency conversions. Because the calculator lives inside the command palette, it can be used without opening a separate application or browser tab.

Quicklinks, snippets, and custom commands

Quicklinks turn URLs, searches, files, or deeplinks into reusable commands. They can accept typed input, clipboard contents, or the current date through placeholders.

Snippets are reusable Markdown templates with support for:

  • Dynamic placeholders
  • Arguments
  • Nested references
  • Optional keyword expansion

Custom commands provide a searchable interface for named shell commands. A command can also have its own global hotkey, making Tinycast useful as a lightweight personal automation layer.

For example, a custom command might wrap a project task:

cd ~/Code/my-project && ./scripts/test.sh

The command can then be invoked from fuzzy search instead of opening a terminal and typing the same sequence repeatedly.

Window management without a separate utility

Tinycast includes 34 Rectangle-style window actions. These cover common layouts and more advanced display operations, including:

  • Halves, quarters, and thirds
  • Window sizing and nudging
  • Moving windows between displays
  • Fullscreen
  • Spaces operations

This makes the launcher a practical replacement for several small utilities. Developers working with multiple editors, terminals, browsers, and test devices can bind frequently used layouts to commands or shortcuts.

System actions, notes, meetings, and emoji

The built-in system actions cover tasks such as locking the Mac, sleeping, restarting, emptying the Trash, toggling appearance, controlling Bluetooth, muting audio, and showing hidden files.

Tinycast also includes several workflow-oriented features:

  • Calendar and meetings: shows the next meeting in the empty palette and menu bar, with one-key joining or optional automatic joining.
  • Notes: provides an unlimited collection of plain Markdown files in a floating editor. Notes are searchable from the command palette.
  • Emoji picker: opens a searchable emoji grid from a single keystroke.

Plain Markdown notes are particularly attractive for developers because they remain portable and easy to version, back up, or edit with another tool.

Optional AI and Raycast compatibility

Tinycast includes AI chat and quick actions, but AI functionality is disabled out of the box. Users can either provide their own API key or use an installed AI account. Quick Actions can fix grammar, rewrite, translate, or summarize selected text in another application.

The project also supports running existing Raycast extensions natively, rendering them as SwiftUI. This gives users a migration path from Raycast without requiring Tinycast to become a browser-based extension host.

The AI design is deliberately opt-in: the feature does not silently send content or credentials unless the user enables and configures it.

Installation with Homebrew

Tinycast supports macOS 15 or later and Swift 6.0. Begin by trusting and adding the third-party Homebrew tap:

brew trust --tap abue-ammar/tinycast
brew tap abue-ammar/tinycast

Then choose the cask matching your Mac:

# Apple silicon, macOS 26 or newer
brew install --cask tinycast

# Intel, macOS 26
brew install --cask tinycast-universal

# macOS 15 Sequoia
brew install --cask tinycast-sequoia

Homebrew checks the platform and refuses an incompatible package. An early-build channel is also available for Apple silicon on macOS 26 or newer:

brew install --cask tinycast@beta

The beta application is installed beside the stable application with its own settings and permissions. Homebrew clears the macOS quarantine flag during installation and updates. If you download a DMG manually, Tinycast is self-signed, so clear the quarantine attribute once:

xattr -dr com.apple.quarantine "/Applications/Tinycast.app"

Accessibility permissions and privacy

Accessibility permission is required when Tinycast pastes or expands text into another application. It is also the only permission required for snippet keyword expansion. macOS prompts for access when a feature first needs it; you can manage the setting under System Settings → Privacy & Security → Accessibility.

Snippets are disabled by default. Their keyword matching happens locally, and the keystrokes are not stored or sent anywhere. More broadly, the project states that it has no telemetry and no third-party dependencies.

Building and contributing

The repository is primarily Swift, with reported language usage of 90.9% Swift, 5.8% JavaScript, 2% TypeScript, and 1.3% other languages. It includes an Xcode project, tests, scripts, documentation, website sources, and CI configuration.

Developers building from source should consult docs/development.md for the toolchain, build, packaging, release, and website workflows. The docs/ directory also indexes architecture documentation, engineering standards, the design system, and feature-specific documents.

Contribution rules are intentionally strict. Contributors must open an issue before writing code, and the issue must be approved before a pull request is accepted. Pull requests that do not close an approved issue may be closed automatically. Documentation-only changes are the exception.

The project also asks contributors to read CONTRIBUTING.md, which documents the memory budget required for pull requests, the before-and-after video requirement for visual changes, and the reasons certain features may be declined. Security problems should be reported through SECURITY.md, not the issue tracker.

License and project status

Tinycast is free and intended to remain free. It is licensed under AGPL-3.0, with support provided through a one-off tip option because GitHub Sponsors is unavailable to the author’s country. Payments are handled by Polar.sh.

The repository lists more than 3,100 stars, 185 forks, 41 contributors, 92 releases, and version 0.10.23 as the latest release shown on the project page. Those figures indicate an active open-source project rather than a small proof of concept.

For developers who want a fast command palette without Electron, telemetry, or a collection of separate utilities, Tinycast is a compelling macOS-native alternative. Its strongest proposition is not any single feature; it is the way the launcher, hotkeys, clipboard, snippets, window actions, notes, and optional integrations fit into one lightweight workflow.

Source

abue-ammar/tinycast: Tinycast — a tiny, fully native macOS launcher, hotkeys, and clipboard history.