Tinycast
v0.12.1A launcher that runs Raycast extensions natively.
Top pickFreeOpen sourceFree, no paid tiermacOSUpdated 7 days ago
About
Tinycast puts a launcher, clipboard history, snippets, custom commands, per-app hotkeys, window management and an inline calculator behind one shortcut, written in SwiftUI and AppKit with no third-party dependencies and no telemetry. It runs real Raycast extensions, rendered as native SwiftUI rather than in a web view, which is how it stays under 100 MB of memory. Almost everything ships switched off until you turn it on, and the AI features run on your own API key. Free and open source, and it needs macOS 26 or later on Apple silicon or Intel.
- Price
- Free, Free, no paid tier
- License
- AGPL-3.0
- Version
- 0.12.1 · Oct 19, 2026
- Platforms
- macOS
- Category
- Productivity
Featured badge
Make Tinycast yours: show the badge on its site and the listing marks itself as linked back.
<a href="https://macgrove.app/apps/tinycast">
<img src="https://macgrove.app/badge/tinycast.svg" alt="Featured on MacGrove" width="254" height="32" />
</a>[](https://macgrove.app/apps/tinycast)What’s new
All 11 releases0.12.1LatestBig update · 7 days ago
- Expand the Hyper Key: all modifier keys, per-keyboard remapping, diagnostics and Secure Input support by @abue-ammar in #1510
- Rework quicklink selected text and add a ⌘C selection fallback by @abue-ammar in #1507
- Decode malformed UTF-8 the way Node does by @Noel-0 in #1513
- Show what the provider said when an AI chat turn is refused by @notsoshu in #1497
- Let Bring! sign in by sending URLSearchParams as form data by @list-jonas in #1532
- Let the Dictation key (🎤) trigger Tinycast shortcuts by @list-jonas in #1523
Earlier
0.11.19Add local Dictation and expand keyboard shortcut capabilities by @Risengan in #1280
- Add local Dictation and expand keyboard shortcut capabilities by @Risengan in #1280
- Preserve pinned clipboard state during Raycast import by @barissglc in #1284
- Truncate a long extension toast instead of squeezing the actions by @list-jonas in #1287
- Import Raycast scripts that are symlinks by @filiperocha in #1292
- Hide side labels on double modifier shortcuts by @abue-ammar in #1304
- Default tests to four workers and relax clipboard deadline by @abue-ammar in #1308
- Add an option to disable automatic update checks by @abue-ammar in #1305
- Keep launcher meetings in chronological order by @abue-ammar in #1306
- Add month and year calculator conversions by @abue-ammar in #1307
- Close AI Chat with Escape by @abue-ammar in #1309
- Support undo and redo shortcuts in Notes by @abue-ammar in #1310
- Keep the newest copy when one folder holds two versions of an app by @abue-ammar in #1320
- Tidy the AI Chat composer: one row inside the glass, a + menu, and a Dictation mic by @notsoshu in #1322
- Put the calculator's answer in the search bar on ⌘↵ by @mertkaradayi in #1324
- Reload externally edited notes when reopening by @abue-ammar in #1345
- Keep the Raycast import panel inside the Settings window by @abue-ammar in #1350
- Mirror launcher shortcuts and aliases in settings.json by @abue-ammar in #1352
- Add global microphone mute system action by @abue-ammar in #1347
- Keep the camera preview live while reframing from the menu bar by @abue-ammar in #1348
- Fix calculator bit-to-byte rate conversions by @abue-ammar in #1349
- Run a custom command in the interpreter its #! line names by @abue-ammar in #1351
- Fix Norwegian app name localization by @abue-ammar in #1353
- Offer a quicklink's defaulted arguments as optional fields by @abue-ammar in #1354
- Keep Backspace inside an IME composition by @abue-ammar in #1364
- Keep an extension row's accessories at full width by @abue-ammar in #1368
- Focus a dialog's text field once its panel is key by @abue-ammar in #1369
- Focus a dialog's field when its panel turns key, and say when a snippet shortcut has nowhere to go by @abue-ammar in #1380
- Create state lazily in EventEmitter impl by @aeons in #1367
- Echo Gemini thought signatures back on tool calls by @ryan-manor in #1379
- Fix Folder Search Buffer allocation and once listener receivers by @rwifeng in #1361
- Preserve Codex web research across AI Chat follow-ups by @abue-ammar in #1381
- Fix Quicklink prompts when selected text is missing by @abue-ammar in #1382
- Toggle the AI Chat window with its own shortcut by @abue-ammar in #1383
- Lock the screen from a hotkey without a synthetic shortcut by @abue-ammar in #1384
- Say why Refresh Now cannot run while another command is busy by @abue-ammar in #1385
- Let auto join skip events without a known meeting service by @abue-ammar in #1386
- Fit the Notes window's height to its text by @abue-ammar in #1388
- Answer now, today, tomorrow, yesterday and time on their own by @abue-ammar in #1390
- Bring Finder forward when Show in Finder runs with Settings open by @abue-ammar in #1392
- Fix Browser Bookmarks errors by @AlexanderWillner in #1393
- Fire extension action shortcuts while the actions panel is open by @webpro in #1400
- Let X.com recover stale OAuth locks by @list-jonas in #1410
- Refresh website gallery with updated screenshots and feature videos by @Risengan in #1433
- Cycle Center Half through ½, ⅓ and ⅔ by @abue-ammar in #1423
- Stop meeting links at CRLF line breaks by @abue-ammar in #1425
- Keep a quicklink prompt on the row it names by @abue-ammar in #1436
- Add Edit Quicklink to the launcher and shortcuts to list actions by @abue-ammar in #1435
- Add alias fields to window commands, sizes, layouts and rooms by @abue-ammar in #1437
- Fix search state across extension navigation by @abue-ammar in #1439
- Improve launcher category search by @abue-ammar in #1441
- Respect macOS window reopening preference on restart and shutdown by @abue-ammar in #1442
- Fix X-prefixed currency conversions after amounts by @abue-ammar in #1443
- Fix Raycast Store install links by @abue-ammar in #1444
- Remove Raycast extension OAuth PKCE support by @abue-ammar in #1445
- Focus Swift reviews and remove extension OAuth remnants by @abue-ammar in #1451
- Fix Quicklink hotkey input focus by @abue-ammar in #1470
- Restore launcher search focus after closing menus by @abue-ammar in #1473
- Support createRequire in the extension runtime by @AlexanderWillner in #1471
- Add Copy Link action and shortcut for quicklinks by @abue-ammar in #1472
- Fix palette menu clicks and cropping; prefer synchronous code by @abue-ammar in #1475
- Fix Docker extension HTTP over Unix sockets by @abue-ammar in #1474
- Fix extension text paste landing in palette search by @abue-ammar in #1476
- Synchronize asynchronous Swift test fixtures by @quanru in #1457
- Remove Traditional Chinese emoji keywords by @abue-ammar in #1479
- Use sparkles for the Quick AI header icon by @abue-ammar in #1480
- Fix live dictation model download progress by @abue-ammar in #1481
- Add launcher forms for Snippets, Quicklinks, Custom Commands and Events by @Risengan in #1488
- Keep the Notes window steady while editing a list by @notsoshu in #1483
- Keep list markers on a wrapped item's first line of text by @notsoshu in #1484
- Add AI Chat shortcuts to switch chats and toggle the sidebar by @abue-ammar in #1493
- Follow directory symlinks when scanning for applications in configured scopes by @bl1nk in #1482
- Load bundled extension dependencies by @szupzj18 in #1489
- @barissglc made their first contribution in #1284
- @filiperocha made their first contribution in #1292
- @mertkaradayi made their first contribution in #1324
- @aeons made their first contribution in #1367
- @ryan-manor made their first contribution in #1379
- @rwifeng made their first contribution in #1361
- @AlexanderWillner made their first contribution in #1393
- @webpro made their first contribution in #1400
- @bl1nk made their first contribution in #1482
- @szupzj18 made their first contribution in #1489
<!-- tinycast:install -->
Channel: stable · Version: 0.11.19 · Bundle ID: com.tinycast.app
Recommended: install via Homebrew — it clears the quarantine flag automatically on every install and update, so there's nothing to run by hand: brew trust --tap abue-ammar/tinycast brew install --cask abue-ammar/tinycast/tinycast On an Intel Mac, install abue-ammar/tinycast/tinycast-universal instead — same app, built with both slices. This build is self-signed. If you download the DMG directly instead of using Homebrew, macOS will refuse to open it until you clear the quarantine flag once: xattr -dr com.apple.quarantine "/Applications/Tinycast.app"
0.11.12Stabilize Settings sidebar icons on window open by @Risengan in #941
- Stabilize Settings sidebar icons on window open by @Risengan in #941
- Keep the palette open while an extension's file picker is up by @list-jonas in #940
- Read fitted icon alpha directly from bitmap bytes by @kmplngj in #960
- Keep pinned entries when clearing clipboard history by @abue-ammar in #966
- Run an extension's menu bar command, and draw its item natively by @list-jonas in #963
- Render transparent extension SVG fills correctly by @list-jonas in #970
- Run got-backed extensions by constructing tls.TLSSocket by @list-jonas in #967
- Open the palette without re-rendering it first by @abue-ammar in #964
- Close command output with Escape by @list-jonas in #1006
- Progressive blur for the Settings window by @mmshivesh in #1009
- Add Globe hotkey bindings by @Risengan in #1010
- Add Window Mode previews to Settings by @Risengan in #1014
- Build clipboard file URLs without touching the disk (Closes #998) by @tomelliot in #1022
- Fix deeplink fallbackText prefilling extension search by @qeude in #1035
- Keep node shim exports alive through esbuild's __toESM by @FezVrasta in #1038
- Render borderless panels with Liquid Glass by @abue-ammar in #1046
- Let Settings detail use native window background by @Risengan in #1049
- Let the calendar menu bar item hide when there is nothing to show by @abue-ammar in #1048
- Show tomorrow's date on meeting rows by @abue-ammar in #1050
- Follow the system's 24-hour clock in calculator times by @abue-ammar in #1052
- Drag files and apps out of the palette by @abue-ammar in #1053
- Polish alias and shortcut recorder controls by @Risengan in #1051
- Clear the shortcut of an app that has been deleted by @abue-ammar in #1054
- Reload Switch Windows and menu search on a restored screen by @abue-ammar in #1055
- Rebuild root search ranking and add Suggestions by @abue-ammar in #1057
- Add OAuth authentication for HTTP MCP servers by @notsoshu in #1077
- Let Settings choose how many tool call rounds a reply may run by @notsoshu in #1078
- Add a show/hide button to every secret field by @notsoshu in #1079
- Group back-to-back tool calls and keep the composer's chips clear by @notsoshu in #1080
- Open the model menu without laying out every model by @notsoshu in #1082
- Offer Tinycast's MCP servers on the Codex and Claude routes by @notsoshu in #1081
- Add an AI Chat window with a conversations sidebar by @rubnogueira in #1047
- Scroll PDFs and preview undeclared code files in Search Files by @abue-ammar in #1087
- Paste clipboard entries as plain text and offer it as the default action by @abue-ammar in #1088
- Keep AI commands out of Suggestions by @abue-ammar in #1092
- Report Grok failures instead of Claude's missing response by @iuriio in #1043
- Show the camera again when the join preview reopens by @abue-ammar in #1095
- Close Dictionary and extension commands on a second hotkey press by @abue-ammar in #1096
- Add a Dismiss action to the calendar menu bar by @FezVrasta in #1107
- Render markdown tables in extension Detail views by @list-jonas in #1116
- Stack a List detail's metadata under its markdown by @list-jonas in #1119
- Show distinct pressed states for modal actions by @quanru in #1105
- Keep SwiftUI's named keys out of the ASCII recovery by @FezVrasta in #1106
- Stream spawned child output to extensions as it arrives by @list-jonas in #1126
- Find aliases and camelCase names by any word, and stop matching pane identifiers by @abue-ammar in #1127
- Open Clipboard History on the newest clip, below the pins by @abue-ammar in #1130
- Keep calendar commands searchable with meetings out of the launcher by @abue-ammar in #1132
- Even out menu separators and keep scrolled menus off their edges by @abue-ammar in #1133
- Find apps named only in a zh-Hans folder by that name by @abue-ammar in #1135
- Let Codex start when Tinycast is launched from Finder or the Dock by @notsoshu in #1134
- Keep Backspace and the caret inside inline argument fields by @abue-ammar in #1138
- Draw Detail markdown images at their own size instead of capping them at 220pt by @list-jonas in #1137
- Move feature enable switches to the top of Settings pages by @Risengan in #1144
- Fix selection across Summarize sections by @Risengan in #1146
- Copy the text in a clipboard image with ⇧⌘T by @mwmcode in #1147
- Walk into a project's windows with Rooms by @abue-ammar in #1155
- Detect installed CLIs when the login shell is fish by @notsoshu in #1153
- Launch Mission Control through LaunchServices so Show Desktop runs on macOS 27 by @abue-ammar in #1156
- Settle WebAssembly promise APIs in the extension runtime by @abue-ammar in #1158
- Allow cancelling in-flight Quick Actions from the progress HUD by @ganeshmshetty in #1159
- Show extension list titles passed as { value, tooltip } by @list-jonas in #1161
- Load extensions that bundle undici by @abue-ammar in #1162
- Copy the whole calculation on Shift-Command-Return by @abue-ammar in #1163
- Make Settings lists and controls more consistent by @Risengan in #1165
- Refine settings toolbar navigation controls by @Risengan in #1171
- Preserve launcher center across interface sizes by @Risengan in #1173
- Refine launcher snapping and alignment feedback by @Risengan in #1174
- Fix note list marker layout while editing by @Risengan in #1178
- Add Find in floating notes by @Risengan in #1180
- Read thousand, million and billion after a calculator amount by @abue-ammar in #1182
- Keep clipboard order during Paste and Keep Window Open by @abue-ammar in #1187
- Add an opt-in settings.json mirror, and custom Snippets and Notes folders by @abue-ammar in #1186
- Stop child processes from hanging their caller after they exit by @abue-ammar in #1188
- Notes top right placement by @Risengan in #1190
- Scroll to an extension when opening its settings by @list-jonas in #1191
- Fix Quick Actions on selected text in floating notes by @Risengan in #1194
- Add share action to Cmd+K by @koalazub in #1195
- Declare Reminders access, so extensions can ask for it by @list-jonas in #1201
- Rebuild the AI Providers panel: a list with pages, a say over models, and per-tool launch settings by @notsoshu in #1206
- Align the search query with the row titles by @abue-ammar in #1216
- Wait for typing to pause before a throttled extension search runs by @list-jonas in #1217
- Run QR Code Generator's PNG output, and clear its loading toast by @list-jonas in #1225
- Scale the message pill with Interface Size by @jeandre-db in #1224
- Harmonize icon sizing across launcher lists by @Risengan in #1218
- Paste history one entry at a time with Paste Sequentially by @abue-ammar in #1221
- Let Empty Trash follow Finder's own warning preference by @abue-ammar in #1227
- Show extension toasts as a glass pill in the footer, and match the HUD by @list-jonas in #1235
- Let a snippet take its own global shortcut by @abue-ammar in #1229
- Let Codex run on a custom provider that needs no OpenAI sign-in by @notsoshu in #1231
- Fix Frequently Used emoji layout, ordering, and selection tint by @Risengan in #1234
- Render LaTeX math in AI chat and Quick AI replies by @notsoshu in #1238
- Show leading <think> blocks from OpenAI-compatible providers as reasoning by @notsoshu in #1236
- Open the Quick AI model switcher with ⌘P by @notsoshu in #1239
- Keep the palette caret visible after a Light/Dark switch by @abue-ammar in #1253
- Add window management shortcut presets by @svenjacobs in #1261
- Install extensions from GitHub; search only the Raycast Store by @abue-ammar in #1262
- Drag the Settings window from an open editor by @abue-ammar in #1263
- Use the Tinycast bolt as the menu bar icon by @abue-ammar in #1264
- Add a details page for meetings by @abue-ammar in #1265
- Show the day's agenda in the calendar menu bar menu by @abue-ammar in #1266
- Add Force Quit Application to an app's actions menu by @abue-ammar in #1267
- Search emoji in the Mac's preferred languages by @abue-ammar in #1268
- Stop StoreRow's state enum from hiding SwiftUI's State by @abue-ammar in #1269
- Keep extension menu bar items off until the user turns them on by @list-jonas in #1270
- Render HTML tags in extension Detail markdown by @list-jonas in #1274
- Website: changelog page and a hero palette that matches the app by @abue-ammar in #1281
- @mmshivesh made their first contribution in #1009
- @tomelliot made their first contribution in #1022
- @FezVrasta made their first contribution in #1038
- @rubnogueira made their first contribution in #1047
- @iuriio made their first contribution in #1043
- @quanru made their first contribution in #1105
- @mwmcode made their first contribution in #1147
- @ganeshmshetty made their first contribution in #1159
- @koalazub made their first contribution in #1195
- @jeandre-db made their first contribution in #1224
- @svenjacobs made their first contribution in #1261
<!-- tinycast:install -->
Channel: stable · Version: 0.11.12 · Bundle ID: com.tinycast.app
Recommended: install via Homebrew — it clears the quarantine flag automatically on every install and update, so there's nothing to run by hand: brew trust --tap abue-ammar/tinycast brew install --cask abue-ammar/tinycast/tinycast On an Intel Mac, install abue-ammar/tinycast/tinycast-universal instead — same app, built with both slices. This build is self-signed. If you download the DMG directly instead of using Homebrew, macOS will refuse to open it until you clear the quarantine flag once: xattr -dr com.apple.quarantine "/Applications/Tinycast.app"
0.11.3Shrink Detail markdown images to the size their URL asks for by @huhrishabh in #891
- Shrink Detail markdown images to the size their URL asks for by @huhrishabh in #891
- Recognize equivalent current-time phrases by @caezium in #894
- Show calendar colour, time range and countdown on meeting rows by @abue-ammar in #895
- Add an offset to custom window sizes by @abue-ammar in #896
- Keep feature shortcuts working when Show in launcher is off by @abue-ammar in #898
- Open a selected-text quicklink on the first Return by @abue-ammar in #897
- Resolve installed commands the way Terminal does by @abue-ammar in #900
- Collect a custom command's arguments inline in root search by @abue-ammar in #903
- Add the WebSocket and mDNS support Home Assistant needs by @list-jonas in #901
- Show actions on Detail screens by @huhrishabh in #902
- Read and write calculator numbers in the Mac's number format by @abue-ammar in #906
- Hand an app-picker preference to an extension as an Application by @list-jonas in #907
- Let keypad Enter confirm a selection by @abue-ammar in #909
- Close Tinycast's windows when the Dock's Quit is chosen by @abue-ammar in #910
- Let meeting links open in a chosen browser by @abue-ammar in #911
- Dismiss notifications through Notification Center's own actions by @abue-ammar in #912
- Calm the Settings panes and reorder the sidebar by @abue-ammar in #914
- Place Tinycast's own windows with window commands by @alesmartan in #916
- Record unmarked extension Clipboard.copy in history by @FreeTeaspoon in #915
- Draw the oklch() swatches Color Picker states its colours in by @list-jonas in #917
- Reduce Quick Actions diff memory with packed traceback by @kmplngj in #921
- Add a /support page backed by Polar by @abue-ammar in #932
- Show the payment card again after leaving the support thank-you by @abue-ammar in #934
- @FreeTeaspoon made their first contribution in #915
<!-- tinycast:install -->
Channel: stable · Version: 0.11.3 · Bundle ID: com.tinycast.app
Recommended: install via Homebrew — it clears the quarantine flag automatically on every install and update, so there's nothing to run by hand: brew trust --tap abue-ammar/tinycast brew install --cask abue-ammar/tinycast/tinycast On an Intel Mac, install abue-ammar/tinycast/tinycast-universal instead — same app, built with both slices. This build is self-signed. If you download the DMG directly instead of using Homebrew, macOS will refuse to open it until you clear the quarantine flag once: xattr -dr com.apple.quarantine "/Applications/Tinycast.app"
- Source
- GitHub releases
- Last checked
Similar apps
- Raycast

RaycastA keyboard launcher that runs your whole Mac, with extensions and AI built in.Freemium - Glaze

GlazeBuilds small Mac apps by describing them, using AI agents.Freemium - Muxy

MuxyLightweight, project-based terminal for the Mac built on libghostty.Free - Xcode

XcodeApple's IDE for building apps for Mac, iPhone, iPad, Watch, and Vision Pro.Free - Nova

NovaA native Mac editor built by Panic, with an extension API.Paid - Kaset

KasetNative Mac app for YouTube Music and YouTube.Free - BetterCapture

BetterCaptureFree, open-source screen recorder for the menu bar.Free - Commit+

Commit+A native macOS Git client with drag-and-drop workflows and undo for anything.Free



