Joseph Humfrey

Joe's blog

Joseph Humfrey is co-founder of inkle & Founder of Selkie Design

Substage hits 1.0 with a massive update

24th June 2026

Complete redesign, a new Rules feature, and much more

Screenshot of the new Substage, showing new Ideas & Actions panel

Since I first released Substage just over a year ago, agents have taken the world by storm, and at WWDC this year, Apple finally showed their hand with the new agentic Siri coming in macOS 27.

In parallel, I've actually been pushing Substage in the opposite direction: towards being a fast, focused tool. If agents are chainsaws, Substage is a craft knife - precise, instant, and always to hand. And I’m really happy with the specific niche I’ve carved out for it.

Over the past year I added features like Quick Actions, which speed up the most common prompts - file conversions, say - so they skip the AI models entirely.

Now I'm releasing Substage 1.0, which sharpens it even further: an entirely redesigned UI flow, support for multiple parallel long-running tasks (great for video conversion), Rules (for powerful customisation), a new palette of ideas and suggestions and much more.

UI Design Overhaul

The overall design has been completely rethought to make everything more intuitive, with a new layout that’s simple yet elegant.

At the heart of this redesign is the new task list, which lets you easily dig into the details of everything you’ve asked Substage to do, and even run multiple commands simultaneously.

Pro tip: Hold Command while pressing Enter to keep the task view open and stream results in real time - useful for keeping an eye on exactly what Substage is doing as it runs.

Rules

Rules are a bit like custom instructions when personalising a chatbot, but more focused. They teach Substage your preferences, conventions, and context so you don’t have to spell everything out every time.

The Rules settings page, showing a YouTube example
With the above rule, just say "export for youtube", and Substage will match the params that YouTube recommends.

For example, when working in your website folder, you may want to say that images should always be 1600 pixels wide. Then, just tell Substage “resize” with images selected, and it’ll do the right thing.

Rules work by adding little extra piece of written context when you use a specific word or phrase, or when you’re working in a specific folder, though you can also choose to make them global.

More examples:

Trigger: projects
Text: My projects folder is in ~/Work/Projects
Example of usage: Go to projects / Move this to projects

Trigger: youtube
Text: Youtube recommends H.264, High Profile, progressive scan, 4:2:0, variable bitrate, same frame rate as source, BT.709 for SDR, and AAC audio.
Example of usage: mp4 for youtube

Trigger: edit
Text: my preferred text editor is /Applications/Zed.app
Example of usage: edit this (say, with a markdown file selected)

Trigger: (your personal website folder)
Text: If I ask to upload the website, run the script in this folder: scripts/go_live.sh
Example of usage: upload

So, to set them up, you start by defining a trigger: a word or phrase like “projects folder,” “high quality,” or “upload” - or a specific folder on your computer. Then attach freeform instructions that give it meaning: where your projects folder actually is, what you consider high quality, or exactly how Substage should handle “upload.”

By tying instructions to specific triggers, prompts stay lean and focused - smaller and local models in particular won’t get bogged down with irrelevant context. That said, you can always make a trigger global if you want its instructions included in every prompt.

Ideas & Actions

The most requested feature was a way to explore everything Substage can do - use cases, ideas, suggestions. I realised there was also an opportunity to combine this with a smart list of actions relevant to whatever you’re looking at and have selected in Finder.

Screenshot of the Ideas & Actions panel

Substage even surfaces the most relevant commands as buttons directly in the prompt bar, putting common actions like zipping files or converting image formats just one click away.

Pro tip: Many suggestions show a short abbreviation beneath them - this is the command’s Quick Action name. Type it directly and Substage can act immediately, no AI interpretation needed.

Favorites

Save your most-used commands for quick reuse. Wherever you see a star, whether in the task list or the Ideas & Actions palette, click it to add that command to your Favorites. From there, your saved commands will also surface in the Substage bar whenever you select relevant files.

Smart Folder compatibility

Search views and smart folders like Recents don’t represent real folders - they’re dynamic collections of files drawn from across your entire computer. This posed a problem for Substage, which takes a Terminal-centric approach and expects to work within a single folder.

The solution is an elegant workaround that finds a common parent folder for the selected files and works with their full paths - letting Substage treat any Finder view as if it were a normal folder. Of course there are still some limitations because they’re still not real folders, but the majority of what you would expect to work now just works.

Desktop compatibility

Substage is no longer limited to Finder windows. If you’re working on the desktop, a floating Substage bar appears at the bottom of your screen — another commonly requested feature.

Improved integrations

  • Transcription: making use of Finn Voorhees excellent yap package that’s on Homebrew, Substage can now transcribe speech from audio to text using the on-device model available in macOS Tahoe and later. Just ask Substage to transcribe and it will do the rest!
  • WebP support improved
  • Support for more commands in Substage Predicts, including basic git understanding, shasum, hdutil, diskutil and more
  • FFmpeg package updated to 8.1.1, and now has an Apple Silicon version so that Rosetta isn’t required

AI Model support updates

It can be difficult to keep up with the pace of new AI models! This release includes support for GPT 5.5, Gemini Flash 3.5, Claude Opus 4.7 and the latest Mistral models.

Accessibility

Special attention has been given to VoiceOver support in this release. Allowing the use of plain English to manipulate files makes Substage a genuinely powerful tool for blind users, and this update makes sure it’s living up to that potential.

Smoother Finder integration

Substage windows now follow their Finder windows more smoothly, in many cases well enough that they look perfectly attached. Also, updating the context of what you have selected is now much faster and more efficient, since I stopped using AppleScript and started using AppleEvents instead under the hood.

More Posts

Hour by Hour 1.1: Smarter import and easy sharing

7th June 2026

Hour by Hour is here!

31st March 2026

What if code wasn't a text document?

27th February 2026

Instant Actions added to Substage

16th January 2026

Live Activities Are Usually Half Asleep

27th December 2025

Godot’s Scene System Is Just Brilliant

28th November 2025

Getting Apple’s tiny on-device Foundational Model to pick SF Symbols in Hour by Hour

14th November 2025

The Selkie Design blog is now Joe's blog

14th October 2025

Substage Predicts...

31st July 2025

Substage ❤️ Setapp

2nd July 2025

The Shortcut to integrating Private Cloud Compute into my app

20th June 2025

Substage update: Bring Your Own AI & One-off purchase out now!

25th March 2025

Introducing Substage: A natural language command bar for Finder

18th March 2025

Hour by Hour has been named!

13th January 2025

Playful visual design for indie apps

3rd December 2024

Exploring CloudKit and CKSyncEngine for my SwiftUI App

16th November 2024