This Week in Raycast — August 10 – August 16, 2026
Nineteen new extensions, three more extensions ported to Windows, and a run of memory and performance fixes in the ones people open every day — Safari, Slack, and Obsidian among them.
Productivity
Bento Window — by @ipopo
Tiles windows into a bento-box grid — 2×2, 3×3, 5×2 — sized to how many are open. Auto Tile targets a single app's windows, taken from a priority list or auto-detected from the focused window, and leaves everything else where it is; Auto Tile All covers every tileable window on the active desktop. Built for the case where you have six terminals open and want them arranged without touching the browser and editor beside them.
SSH Image Drop — by @free4416
Sends clipboard images and Finder selections to a server over SSH and pulls remote files back, with the remote path landing on your clipboard rather than being typed out. Add Server registers a host with the password in the macOS Keychain by default and optional SSH key install; the three transfer commands can each be pinned to a server as a Quicklink, with deeplink hosts re-validated against your own server list before any transfer and file lists never accepted from a deeplink. Hosts are read from ~/.ssh/config but never written back to it — a separate managed include file is used instead. Requires macOS 13+.
Ten Four — by @berwickgeek
A shelf of copyable snippets pushed from the terminal. Selecting a URL, key, path, or multi-line block out of a terminal picks up the reflow — wrapped lines and stray indentation — because you are selecting off the character grid rather than copying the underlying text. The companion tenfour CLI writes snippets as data to ~/.ten-four.json instead, and Ten Four Shelf lists them newest-first with copy, paste-to-active-app, pin, and remove, refreshing as new ones arrive. A second command installs the CLI.
Text Scramble — by @bomkino
Replaces selected copy with pronounceable invented text while preserving its visual skeleton — whitespace, punctuation, paragraphs, manual line breaks, token lengths, casing, repeated-word consistency, and approximate line measure — so a deck or design draft keeps its shape without carrying the real words. It works on existing layout-bearing copy rather than generating a requested quantity of filler. Processing is entirely on-device with no network requests; before replacing, it rejects clipboard representations Raycast cannot reproduce losslessly and restores supported content afterwards, reporting honestly when macOS keeps the pasteboard unavailable.
Central Icons — by @tamino-martinius
Browses, searches, and exports the Central Icon System — 2,000+ icons, each in 30 style variants — without opening the catalogue in a browser. Style controls sit in the search bar (fill, stroke width, corner radius, line join, size, raw or masked output), and any icon copies or pastes as SVG, icon name, data URI, or a React, React Native, Vue, or Solid snippet; a single icon or a whole style set exports to Downloads. Free to install and browse with ten free copies — unlimited copying and Export All Icons need a Central licence.
Microsoft Tenant ID — by @Rediwed
Resolves the Microsoft Entra (Azure AD) tenant ID for a domain, email, or URL — one at a time or in bulk — returning the tenant ID, organisation name, and account type, copyable as ID, JSON, or CSV. A no-view command does the same from the clipboard and shows the result in a HUD, and a third command runs the reverse lookup from tenant ID to organisation. Forward lookups use public OpenID and getuserrealm endpoints with no auth or API key; the reverse lookup goes through Microsoft Graph with built-in OAuth and needs a work or school account. macOS and Windows.
Bit Parser — by @TwoMental
Inspects individual bits in fault codes, status words, and flags. It takes decimal, hexadecimal, or binary input at 8, 16, 32, and 64-bit widths, lists the bits set to 1 ahead of the full bit list, switches between high-bit-first and low-bit-first order, and accepts optional labels for known faults and states. Individual bits or the complete report copy or paste.
BART Departures — by @drewkiimon
Real-time departures for a chosen BART station, so working out whether it's worth leaving now doesn't mean picking up your phone.
Install Fonts — by @sharksharkco
Installs fonts into your user Fonts folder from a Finder selection, a folder, or a zip archive — no unzipping first and no trip through Font Book.
Updates to existing productivity extensions:
- Safari: two fixes to loading. Search Tabs could show only iCloud tabs while local ones were still coming in — with more than 500 tabs open, local loading took about 15 seconds, because the Swift bridge asked ScriptingBridge for each tab's title and URL separately, producing two Apple events per tab. Titles and URLs are now fetched in one batched request per Safari window, falling back to individual reads only when Safari omits empty values from a batch, which takes local tab loading from roughly 14.66 seconds to 0.48 seconds on a 518-tab profile. The command also checked
!devicesfor its loading state, anddevicesstarts as an empty array, so the loading indicator never appeared; the real local-tab loading state is now passed through, the iCloud tabs database isn't queried when iCloud tabs are off, andblob:favicons resolve through their origin. Separately, bookmark loading no longer fails withmaxObjectCount exceededon largeBookmarks.plistfiles — the binary plist parser's object limit is raised before the read, tested against an 86,319-object plist. - Slack: Search Emojis crashed with
JS heap out of memoryin workspaces holding tens of thousands of custom emojis, because every emoji was rendered as aGrid.Itemat once and building the React tree exceeded the worker's heap. The grid now renders in slices of 1,000 with a trailing "Show More", resetting the visible slice when the search text changes; search still runs over the full list, and only rendering is bounded. Raycast's built-inpaginationwas tried first and its memory safeguard refuses to load further pages in exactly these workspaces, which is why an explicit Show More is used. Set Status also gains a third optionalexpirationargument for deep links — any number of minutes, ortodayorweek— routed through the same expiration logic the form already uses, with unparseable input reported rather than silently setting a status that never clears. - GitHub: pull request details show the latest commit's aggregate CI status directly below the existing Status metadata, sharing one status presentation mapping with the list views so success, failure, and pending render the same way in both. The row is omitted when GitHub provides no displayable aggregate state.
- Renaming: renames are now reversible. A new Rename History command browses the 25 most recent rename batches, stored locally in
LocalStorage, and undoes them at three levels — roll back to a point in time, undo a whole operation, or undo a single file while leaving the rest renamed. Rename File(s), Replace File(s) Characters, and Advanced Batch Rename each record exactly the files that moved, so a partial failure never leaves an undo trying to reverse a rename that didn't happen, and they open Rename History afterwards so the batch is immediately reviewable. Undoing shows a conflict preview first, stating how many files can be restored and why the rest cannot — moved or deleted since, replaced by a different file, or the original name taken again — with conflicted files skipped and marked rather than failing the batch, and retryable once resolved. - Pins: group-focused workflows. A new Open Pin Group no-view command targets groups by stable ID, groups gain actions to create a Quicklink or copy a background deeplink, and an optional per-group preferred browser slots into the precedence pin application → group browser → global preferred browser. View Groups also picks up a newline-separated URL import with HTTPS normalisation, support for Pins' custom URL schemes, and invalid/duplicate handling. The new group field is optional so existing stored groups need no migration, browser bundle IDs are stored rather than local application paths to keep exported group data portable, and bulk-created pins are written in a single storage update.
- Browser Tabs: Windows support. macOS reads tabs through AppleScript and Windows has no equivalent, so tabs are read from running browsers' tab strips via UI Automation in a small native helper built with
raycast/extensions-rust-tools— nothing extra to install, and Firefox and Zen Browser work on Windows even though macOS can't support them. The limits are documented rather than papered over: Windows doesn't expose a tab's URL, so the displayed tab reports its own and background tabs are matched by title against browser history, with URL-dependent actions hidden when there's no match; minimised windows aren't listed because browsers stop exposing their tab strip; and for browsers with workspaces, only the current one is listed. macOS is untouched — the AppleScript file is byte-identical and a six-line dispatcher picks the implementation by platform. - Helium: Windows support, closing the gap with Helium's own Windows builds. The executable is located from standard install roots, then the path registered under
Clients\StartMenuInternet, then a new optional Helium Location preference for portable builds; browser control dispatches to a Windows command-line driver instead of AppleScript, and shortcuts are declared per platform since a barecmdshortcut is silently ignored on Windows. Search Web, History, Bookmarks, and the new tab/window commands reach parity; Search Tabs is read-only on Windows because Chromium exposes no scripting interface there, so tabs come from the Browser Extension and Close Tab / Deduplicate Tabs render as nothing rather than failing. - Keeper Security: Windows is now a supported platform.
- 1Password: the extension showed "Authentication Required" on macOS whenever the desktop app's delegated session was the only one available, because the sign-in check trusted
op whoami— which exits 1 withaccount is not signed inin that state — and only fell back toop account geton Windows. Removing that platform guard lets the whole chain succeed: measured onop2.34.0 with app integration on,op account getestablishes the delegated session and the item list then returns 639 items. Errors during loading also no longer fall through to "No items found"; onlyConnectionErrorhad a view of its own, and every other failure rendered as an empty vault. Both list commands now show a shared error view with Retry and Copy Error Details. - GitLab: the extension asked for the authentication method twice — once in an Authentication dropdown, once in whichever credential field you filled — and picking a mode with no matching credential was possible, which is most of what the two "require" preferences existed to catch. The dropdown is gone and the method is inferred from the credentials the way the GitHub extension does it: a filled API Token means personal access token, an empty one means OAuth via the Application ID, and the token wins when both are set. The Sign out of GitLab command is also removed, since Raycast adds a logout option to extension preferences itself once a token set is stored. Anyone on OAuth with a stale value left in the API Token field will flip to PAT on upgrade — clearing that field keeps them on OAuth.
- Obsidian: the
searchNotetool read Markdown unbounded during content and tag search, and a single ~44 MiB clipping was enough to hit Raycast's ~100 MB extension heap limit regardless of how many notes the vault holds. Files are nowstated first and skipped above 1 MiB in full-content search, tag search reads at most a 64 KiB prefix on oversized files since frontmatter sits at the top, andsearchContentdefaults to false to match the Search Note command. - Flush DNS: optional Touch ID authorisation for the privileged flush. The extension detects an active
pam_tid.sorule in/etc/pam.d/sudo_local, falling back to/etc/pam.d/sudo, and runs the selected cache commands through/usr/bin/sudowith exact executable and argument arrays when Touch ID is configured — stopping on cancellation or asudofailure rather than following up with a surprise password prompt. The existing single administrator-password dialog remains the fallback when Touch ID isn't available. - Coffee: a new "Start caffeination when Raycast starts" preference, off by default, keeps the Mac awake from the moment Raycast launches. Raycast has no true on-launch hook, so the feature rides the extension's existing background refresh — the status command every 15 seconds and the menu bar command every minute — recording the last background run and treating a gap of more than two minutes as a fresh session. Because the marker is refreshed on every tick, decaffeinating by hand stays in effect for the rest of the session and re-caffeination waits for the next Raycast restart.
- Flow Timer: Start Timer takes an optional title, so a session can be named and started in one command instead of chaining Set Session Title and Start Timer, and a new Default Session Title preference fills in when no title is typed. A Start Previous Session command reloads and starts the last session with its title intact. With both empty, behaviour is unchanged.
- Readwise Reader: List Documents gains a Sort Documents By… action (
⌘⇧S) covering Date Moved, Saved, Published, and Last Opened, plus Author, Category, Length, Progress, Title, and a seeded Random shuffle with its own Reshuffle (⌘R), a direction toggle for field sorts, and a Default sort preference. Sorting now applies across the whole loaded list rather than per page, with missing values always sorting last and a stable tie-break. Two pre-existing bugs the feature made easy to hit are fixed alongside: a crash on documents with an empty author, website, or category, and duplicate rows near the bottom of short lists. - Zoom: a Personal Meeting ID preference on Start Meeting, for people who always use their own meeting room. Set it and the command opens that room directly and copies the join URL, with no OAuth sign-in or meeting-creation call; leave it empty and the existing instant-meeting flow is unchanged. Spaces and dashes in the entered ID are ignored, and an ID that isn't 9–11 digits is rejected with a HUD instead of acted on.
- mymind: Save to mymind prefills from the frontmost app — selected text becomes a Note, a selected URL becomes a Link, and with nothing selected in a browser it uses the active tab's URL. The tab is read via Apple Events asking only for URL and title, never page contents, which needs a one-time Automation permission per browser; the author notes this was chosen over Raycast's Browser Extension because that route requires Safari's much broader read-and-alter permission and reported tabs from whichever browser it was installed in rather than the frontmost one. Safari, Arc, Dia, Brave, Comet, and ChatGPT Atlas are verified against their own dictionaries, Chrome, Edge, Opera, Vivaldi, and Chromium share the allowlist, and unlisted browsers are handled by inferring the dialect from their scripting definition.
- Antinote: support for Antinote v2 beta alongside the current stable release, with a preference for which to target when both are installed. Three new commands: search slotted notes and execute timer commands (both beta-only), and create a note from the current selection (available on both). The timer label parser deliberately mirrors the app's own behaviour, including quirks like any command starting with
sstopping a timer. - 2FAS Authenticator: some 2FAS exports omit
otp.algorithmon a service entry, and the type declared it required, sonormalizeAlgorithm()was called on it unguarded outside the parser's error handling — one algorithm-less service threw and aborted the whole import instead of landing in the existing Skipped section. The field is now optional and falls through to the SHA1 default, matching RFC 6238 and real export behaviour. - Google Chrome Profiles: opening a profile while Chrome was closed produced two windows — the one you asked for, plus one for whichever profile was used last.
tell application "Google Chrome" to activatelaunches Chrome with no arguments, and a flagless Chrome restores every profile inprofile.last_active_profiles, so the old profile's window was already on screen before the Profiles menu was ever clicked. When Chrome isn't running, the extension now cold-starts straight into the requested profile with--profile-directory; when it is running, the existing menu-click behaviour is unchanged. The New Window action also stops exec'ing Chrome's inner binary directly, which left a detachedosascriptalive for the browser's whole session. - Super Productivity: the local API now requires an API token.
- Zed: Raycast 2 could tear down the extension before the Zed CLI launch started, because
closeMainWindow()ran first. Zed is now launched before Raycast closes on the single- and multi-folder CLI paths. - Forked Extensions: a Clean Up Repository action on the Manage Forked Extensions panel, showing the repository path and current pack statistics before confirming, running
git maintenance run --task=gcin the foreground without installing scheduled maintenance, and reporting pack count, packed size, and reclaimed space afterwards. - Open Browsers Profiles: a profile can be copied as a deeplink.
- Herdr: the Binary preference advertises paths like
~/.local/bin/herdr, but Node's filesystem APIs treat~literally; a leading~/is now expanded before the executability check.
Worth a Look
Oneko — by @michaelwautier
Controls Oneko, the open-source desktop cat that chases your cursor on macOS. Four commands — toggle the cat, pick from a grid of all 27 bundled sprites with pixel-art previews, set slow/normal/fast, and quit — all driving the installed app through its oneko:// URL scheme, so the extension needs no permissions of its own. With the app missing, commands fail to a toast offering to copy the Homebrew install command.
Cook — by @TechedWind707
Browses a Cooklang recipe collection — the plain-text recipe markup where ingredients and cookware are annotated inline — with recipes, ingredients, steps, and metadata in Raycast. Select several recipes and it generates a combined shopping list with quantities; a Pantry command tracks inventory, what you can make from it, and what's depleted or expiring; and a fourth command launches the CookCLI web server for browsing in a browser.
Chinese Traditional Colors — by @RaffeYang
742 Chinese traditional colours with bilingual names, searchable by Chinese name, pinyin, colour number, HEX, RGB, HSL, hue category, or palette relationship, and filterable by hue. Each entry shows HEX, RGB, HSL, CSS forms, and CSS variables, all copyable, alongside harmony palettes — analogous, complementary, split complementary, triadic, tetradic, and light/dark/muted variants — plus favourites and a recently-copied list. Colour data is generated from nevertoday/zhongguo-traditional-colors.
Metals Prices — by @Noice-Anas
Daily gold, silver, platinum, and palladium prices per gram, with a karat selector for 24K / 22K / 21K / 18K, the day's change against the previous close, and 1-, 3-, 6-, and 12-month averages computed from a rolling year of daily history. Display currency is selectable (SAR, AED, KWD, QAR, BHD, OMR, USD, EUR, GBP). Data comes from metals.dev with your own free API key, and responses are cached to stay inside the free tier's 100 requests a month.
BanG Dream! Screenshot Search — by @LukeWei
Searches dialogue screenshots from MyGO!!!!! and Ave Mujica and copies them to the clipboard. The extension bundles no third-party screenshots — it ships metadata and commit-pinned remote URLs, and downloads images directly from the attributed upstream repository.
Updates:
- Inoh: the
joey-vocabextension is renamed to Inoh. Because the extension identity changes, existing users won't auto-update — installing Inoh from the store and signing in again is required, and hotkeys, aliases, and quicklinks tied to the old extension need reassigning. Decks and cards are stored server-side and are unaffected. - Soundboard: saving a sound had started failing with
ReferenceError: crypto is not defined. The August 13 dependency bump tooknanoidto v6, which dropped its Node entry point and now generates random bytes via the WebCrypto global — which Raycast's extension runtime doesn't expose — so every form submit threw. The single call site moves torandomUUID()fromnode:crypto, matching how the rest of the extension already generates IDs, and the dependency is dropped. - YouTube Music: every command failed silently with "Unknown Error" or nothing at all when AppleScript failed, because the failure was thrown unhandled and swallowed by empty
catchblocks in all ten commands. Failures are now classified and reported — "Allow JavaScript from Apple Events" not enabled (with a help link), Automation permission denied, browser not running or unsupported, or a generic failure with itsstderr— and every command falls back to a HUD rather than nothing.
Wrappers for Other Services
QuickForce - Salesforce Toolkit — by @Kel-Antony
Built for developers and admins working in Salesforce, the CRM platform. Seven commands cover switching between authenticated orgs and opening common destinations, running SOQL queries with history and favourites, searching records and users, jumping to any Setup page, creating records, and a menu-bar readout of org limits. Authentication comes from the Salesforce CLI already configured on your machine, so it needs sf org login web to have been run at least once. Access tokens are served from memory through a one-time localhost bridge rather than written to a temp file, and Login as User asks for confirmation before opening an impersonated session.
Mise Workspace — by @disinfeqt
A Raycast client for Mise, a team task-management app, talking to its REST API with a personal access token. My Tasks lists what's assigned to you with subtask management, Overview groups team tasks by assignee, Create Task handles quick creation with project, assignee, and due date, and a menu-bar command keeps your task count within reach.
wlthy — by @alirbaba
wlthy is a personal wealth platform that consolidates assets, debts, and property into a single net-worth view; the extension reads it without opening a browser. Six commands cover total net worth with the day and 30-day change, allocation broken down by asset class, currency, geography or sector, net worth per country with per-country leverage, searchable holdings and debts, and a menu-bar total refreshed hourly. Authentication is a read-only REST key created in wlthy's settings — it can read the ledger and nothing else — and a URL preference supports self-hosted instances.
U2L Link Shortener — by @trilokyadav
Connects Raycast to U2L, a link shortener with click tracking and tagging. Shorten Link takes its URL from an argument, the current selection, or the clipboard and copies the short link straight back; Search Links searches what you've created, with click counts, tags, and type in the detail view, plus open, copy, and delete-with-confirmation. Both are thin clients over the public REST API, authenticated with a per-user API key that's free on every plan.
Google Find Hub — by @JonahTweed
Opens Google Find Hub — Google's service for locating, ringing, securing, or erasing Android devices — from Raycast or the macOS menu bar, with light and dark menu-bar icons and command alias support. Unofficial and unaffiliated with Google.
Updates:
- Reclaim: the task commands always used Reclaim 1.0's
/tasksendpoints, so tasks created by anyone on Reclaim 2.0 ("Assistant") never showed up in their 2.0 task activity. Create Task and Search Tasks now detect 2.0 from the account's feature flag and route to the/reclaim-tasksendpoints, with a leaner list view — the 2.0 model carries no chunk, instance, or up-next data — and the 1.0-only form fields (duration min/max, time policy, up next) hidden for those users. Reclaim is a calendar scheduling service that fits tasks and habits into open time. - TorBox: a persistent Recent section above All Downloads for recently opened folders and video files, scoped per account, and View Files as the default action for multi-file downloads. TorBox is a cloud download and seedbox service that fetches torrents and hosted files on its own servers and serves them back over HTTP.
- Karakeep: the Create Bookmark form takes an optional title. Left empty, Karakeep — the self-hostable bookmarking app — keeps deriving the title from the page itself; filled in, the trimmed value is saved as a custom title.
How to Subscribe
Get this in your inbox each week — subscribe at thisweekinraycast.com.