A different way to work on your Mac

Name your desktops.
Any of them, two keys away.

14 days, every feature, no card. Then $1 a month per Mac, cancel any time.
macOS 13 or later, Apple silicon and Intel. 5.5 MB. Developer ID signed, notarised by Apple.

Say the name. You are there in about 200 milliseconds.

Two keystrokes become the habit. One shows everything, one takes you there.

The Board

  • Press them together.
  • Every desktop on one screen: hover to look, click to go, type a name, press a number.
  • Rename, reorder, add, right there.
  • Two screens? Drag a desktop onto the other Board to link the two, and one name moves both.
See the Board below ↓

Say the name

  • Hold them, say the desktop’s name, let go.
  • Recognition runs on your Mac.
switchspacefull size1-9jump⌘↵rename⌘Ddimescclose
switch← →next desktopescback to grid
Try it: hover a desktop, type a name, press a number.

macOS numbers your desktops and leaves it there.

A number does not say what is on a desktop, so you open Mission Control and read the windows to find out. DeskSay gives each desktop a name, an icon and a colour, then puts all of them on one screen.

Desktop 1Desktop 2Desktop 3Desktop 4Desktop 5Desktop 6

Type two letters, press a number, or say the name.

The Board's search field with wr typed into it. Four tiles remain below it: Writing, Reading, Research and Side project. Writing is ringed in amber.
Type wr. Writing is selected; Return switches.
The preview panel from the Board, ringed in amber. It is labelled Design with a palette icon, shows three windows, notes 3 windows at the bottom left beside three app icons, and has an expand button in its top right corner.
Every desktop, with its windows, before you go.
  • option+1onePress them together and the Board opens. Any key you like, in Settings, Switching.
  • F3The Mission Control key can open the Board too, and so can a tap of Control and Option; both are switches in Settings, Switching.
  • option+spaceHold them and say the desktop’s name.
  • ab Type a few letters. The best match is selected; Return switches.
  • 1 to 9Jump straight to a desktop.
  • hoverRest on a tile for its full-size button and rename pencil. Click the tile and you are there.
  • one keyGive any desktop its own shortcut and skip the Board.
  • notchRest the pointer on the notch, or the top centre of another display, for a strip of desktops. Click one to switch.
  • dragHold Option while dragging a window and the Board opens as the place to drop it. Release over a desktop and the window goes there. Prefer Shift or Control? Settings, Switching.

Rename, reorder and add desktops from the Board.

Three Board tiles: Design, Client: Northwind and Email. The middle tile is ringed in amber and an inline text field under it reads Client: Northwind2026, with the cursor at the end.
Renaming in place. The field reads Client: Northwind2026, mid-edit.

Rename where it sits

Right-click a tile, click the pencil beside its name, or press ⌘↵. Type, press Return. The icon and colour follow the new name, unless you chose them yourself.

Everything on the tile

Right-click any tile for the rest: Switch to This Desktop, Show Full Size, Rename, Icon and Colour, Hide from Indicators (Dim), Remove Name. Dim keeps a desktop off the menu bar indicators and keeps its name.

A right-click menu open over the Client: Northwind tile on the Board, between the Design and Email tiles. Its items read Switch to This Desktop, Show Full Size, Rename, Icon and Colour, Hide from Indicators (Dim), Remove Name.
The right-click menu on a tile.
New DesktopBottom left of the Board, or ⌘N. It asks for a name, adds the desktop, names it and takes you there. macOS allows 16 per display, and the Board says so at the cap.
Drag to reorderDrag a tile and the others slide out of the way. macOS takes the same order: DeskSay drives Mission Control for a few seconds after the drop, so Control + arrow and Mission Control agree with the Board. The 1 to 9 keys follow it too.
Every displayWith more than one display the Board opens on all of them at once, each showing its own desktops. Typing filters the one under your pointer; Escape closes them together.
Tile, name and icon sizeSet per display in Settings, On Screen, The Board, with a sample tile that redraws as you move the sliders, or from the gear on the Board for the display it is on.

Names, icons and colours also appear over Mission Control's own thumbnails, and the menu bar can show the current desktop's name and colour, so the desktop you want is the one you can read.

The Board's full-size view of the Design desktop: its three windows fill an amber-ringed frame, the name Design with a pencil and 3 windows sit above it, three app icons sit at the top right, and the tips along the bottom read switch, next desktop, back to grid.
Design at full size.

One desktop at reading size

Press space on any tile, or the corner button on a preview, and the desktop opens at reading size. Arrow keys step through desktops, Return switches, click the name to rename it there.

Time per desktop

Time per desktop and per app, with idle time kept separate. Export it as CSV when a client asks.

A note per desktop

Each desktop can hold a floating note with checklists. Dock it to the side of the screen when you want it out of sight.

Automations

Open the apps and folders a desktop needs when you arrive, and tidy up when you leave. Or run a group on demand.

About 200 milliseconds a switch. Your voice stays on the Mac.

Switching skips the macOS slide animation, so a desktop change takes about 200 milliseconds instead of about half a second with the animation. Speech recognition runs entirely on your Mac using the engine macOS already ships, so your voice never leaves the machine and no account is involved.

Switch time~200 ms
Voice over the networkno
Written inSwift

One dollar a month. Per Mac.

After the trial, DeskSay keeps every name, note and record. Switching continues at 30 switches a month until you subscribe.

DeskSay
$1per month

Or $10 a year, two months free. Cancel any time.

How many Macs? 1 $1 per Mac. Change it later any time.
  • Every update included, installed in place
  • Direct download, 5.5 MB, no App Store account
Subscribe monthly, $1 for 1 Mac Subscribe yearly, $10 for 1 Mac Not sure yet? Start the free 14-day trial, no card needed.

What's new

1.2.618 September 2026

Added

  • Delete one desktop from its tile: hover a tile and a trash button appears at its corner, or select it and press Command Delete. Both ask first, like the right-click item.

Changed

  • "Delete N Empty Desktops" now includes the desktop you are on when it is empty; it goes last. One desktop per display still always stays.
1.2.518 September 2026

Added

  • Delete a desktop from the Board: right-click a tile and choose Delete Desktop. After you confirm, Mission Control removes it the way its close button would, its windows move to another desktop, and DeskSay forgets the name, notes, shortcut and automations it kept for it. Mission Control takes the screen for a few seconds while it works. A display's last desktop and fullscreen apps are not offered.
  • Delete every empty desktop at once: when the Board finds desktops with no windows on them, a "Delete N Empty Desktops" button appears beside New Desktop. It lists them, asks once, and removes them one after another through Mission Control. The desktop you are on and one desktop per display always stay.
  • DeskSay keeps watching for Accessibility after launch and whenever it comes to the front, so turning the permission on in System Settings takes effect without a relaunch. An update can start with the permission gone; before, only the first-ever prompt was watched.

Fixed

  • Option-drag of a window sometimes opened nothing. Two causes are closed: a drag whose release DeskSay missed left it waiting for a surface that was not on screen, so the next drag went nowhere (the next press now resets it); and with Option already held, the window under the press was looked up a moment late, when macOS's drag helper window could already sit in front of it (it is looked up at the press now). A modifier drag that still opens nothing writes why to the log.
  • Unplug a display and macOS moves its desktops onto the display that is still connected, in front of that display's own. The Board now shows them there, where Mission Control does, and keeps your order for the display's own desktops after them. Before, they were pushed to the end of the Board, so the Board and Mission Control disagreed, and the first drag afterwards asked Mission Control to move every one of them back.
  • Linked desktops whose display is unplugged: both halves of the link are then on one display, and the Board hid one of them behind the other. Both are listed now, each under its own name, and the link comes back once the desktops are on separate displays again.
1.2.415 September 2026

Changed

  • Dragging a window with the key held opens the Board on every display, not just the one the drag started on. Carry the window onto the other screen and drop it on a desktop there, and it lands on that desktop: the window follows the pointer across screens while it is being dragged, so the other display simply switches behind it. With "Open the Board on every display" off, it is one Board on the display the drag began on, as before.
  • The Board's large corner preview is gone. Hover a tile and a full-size button appears on it; click that, or press space, to see the desktop at reading size. On a laptop the corner picture kept covering the row it was a picture of, and the tile's own picture already shows what is there.
1.2.312 September 2026

Changed

  • The Board opens with Option + 1. It used to be ⌘0, which is Actual Size in every browser and in Xcode. The Option + Command tap that also opened it is now a switch in Settings, Switching, off by default, with a choice of chords: Control + Option, Option + Shift, Option + Command, Option + Fn (the Globe key), or Option pressed twice. A key you recorded yourself is kept.
  • The New Desktop button stays hidden while a display already has macOS's 16 desktops.

Added

  • Two ways to run more than one display, in Settings, Desktops. Independent is what DeskSay has always done: every display has its own desktops and its own names. Linked lets you join a desktop on one screen to a desktop on another: the pair becomes one desktop with one name, one icon, one note and one shortcut, and saying it, clicking it or pressing its number moves both screens at once. Nothing is linked until you link it. On the Board, drag a tile onto the other screen's Board and drop it on the desktop it belongs with, or on empty space to have a new desktop made and linked there; a right-click on any tile offers the same. If the other display has no desktop to pair with, the first choice in the list makes one with the same name and links it for you. One click links everything that already shares a name on both screens, and unlinking gives each desktop its own name back.
  • A guided tour on first run. After the welcome window, a small card at the top of the screen gives one instruction at a time and moves on by itself when you do it: open the Board, switch from it, name a desktop, say the name, move a window. Skip on every step, resume after a quit, and "Show the Tour" in the menu or Settings, General to run it again. The same six steps live at desksay.com/start.
  • Dragging tiles on the Board now reorders the desktops themselves. macOS has no quiet way to do this, so after a drop DeskSay opens Mission Control and drags the thumbnails for you: about four seconds a move, hands off while it works, and the order then matches everywhere, Control + arrow and Mission Control included. A switch in the Board's gear and in Settings, On Screen keeps the order private to DeskSay instead. It needs "Automatically rearrange Spaces based on most recent use" off in System Settings, Desktop & Dock, and says so when it is on.
  • The Board opens on every display at once, each showing that display's own desktops with that display's tile sizes. The keyboard belongs to the display you are looking at: typing filters the Board under the pointer, and hovering a tile on another display moves it there. Escape, a switch or a click on empty space closes them all. Shift-drag still shows one Board, on the display the window is on. Settings, On Screen, "Open the Board on every display" turns this off, which gives one Board on the cursor's display with a picker at the top for the other displays.
  • Tile size, name size, app icon size and app names can differ per display: the Board's gear edits the display it is on, with a "Use for every display" button, and Settings, On Screen has an "Applies to" picker. The grid also fits its columns to the screen, so large tiles no longer run off a smaller display.
  • The Board's numbers are the Board's order: an unnamed desktop moved to the first tile is "Desktop 1" in DeskSay, in the menu bar, by voice and by the 1 key. Mission Control keeps macOS's numbering.
  • Manage your Macs: desksay.com/manage lists the Macs on a licence and removes one, so a lost or replaced Mac frees its seat without writing to support.
  • Names follow their desktops if macOS ever regenerates desktop identifiers, for example after a reboot, instead of turning into orphans.
  • Tile size on the Board is a slider in its gear pane and in Settings, On Screen, and the gear pane also holds the Board, Jump Back and Say-a-name shortcut recorders, so keys can be remapped without leaving the Board.
  • The Mission Control key (F3) can open the Board instead of Mission Control: Settings, Switching, or the Board's gear. Control + Up still opens Mission Control, and F3 with a modifier is left alone.
  • Lifetime licences, such as the codes sold through AppSumo, show as Licensed in Settings, Licence, with the Mac count they cover and without the Manage subscription button, which only applies to a subscription.
  • The Board's gear opens its settings in place: name and app icon size, window pictures, app names, tips, the chord. Right-click a tile, Icon and Colour… edits that desktop on the tile: colour, icon, aliases for voice, its shortcut, dim, remove name.
  • When macOS has not granted Screen Recording, the Board says so with an Allow button instead of quietly showing icons.

Changed

  • Removing the name of a linked desktop ends the link, since the name is what the two share; each desktop goes back to its own.
  • Moving a window to another desktop is done with Option held while dragging it, not Shift. The key is a choice in Settings, Switching (Option, Shift or Control). The release is faster: the window lands about half a second after you let go, where it used to take close to a second, and the drag no longer stutters while the Board appears. Engaging now depends on the window actually following the pointer, so a drag by a toolbar or a tab bar counts and a text selection never does.

Fixed

  • The Settings window opens sized to the screen it appears on instead of a fixed 880 by 560 that cut every pane off half way down on a laptop, and it shrinks to fit if it comes back on a smaller screen.
  • Settings, Desktops and the menu bar's list now show each desktop's icon and colour as the Board draws them, instead of a dashed square for any desktop whose icon was derived from its name rather than picked by hand.
  • The Board's large preview no longer covers tiles on a small screen. It takes the largest empty space the grid leaves, below it or in the tail of a short last row, and shrinks to fit; it never sits on the tile it is a picture of.
  • The Board no longer selects whatever tile the mouse happens to be resting on. Where the pointer sits decides which desktop the big picture shows, and nothing else: the selection starts on the desktop you are on and moves only when you click a tile, press an arrow or a number, type a name or say one. Return, space and a spoken switch used to act on a desktop the mouse had picked at random.
  • The pencil beside a tile's name switched desktops instead of starting a rename.
  • A tile reorder on the Board could be thrown away by the Board's own two-second refresh, so the drop saved nothing and the tiles sprang back.
  • The large preview in the Board's corner took the clicks on the tiles under it and switched to whichever desktop had been hovered before.
  • Two fullscreen windows of the same app crashed DeskSay at the next refresh; they now get separate tiles, names and shortcuts.
  • Mission Control labels sat over the wrong thumbnails after a Board reorder; they follow Mission Control's own order now.
  • Voice "next" and "previous" walk the Board's order, as the arrows do.
  • Dragging a slider in Settings rebuilt the Mission Control labels, notch hover and drag-to-move machinery dozens of times a second and leaked a time-tracking timer each time.
  • Settings, Licence did not update while open: Check again looked dead, and a trial that ended kept saying Checking.
  • A per-desktop shortcut kept firing after Remove Name, with no recorder left to clear it.
  • Clicking a checklist box in a note flattened the note's fonts, links and pasted images, then saved. With an emoji earlier in the note, the click toggled the wrong line.
  • Granting Accessibility mid-session did nothing until relaunch; Shift-drag and the F3 key now start as soon as it is granted.
  • Time tracking lost up to a minute per interval: after the first heartbeat an interval ended at its last beat, not when you left.
  • A licensed Mac whose clock was a day behind fell into limited mode.
  • A licence was checked once at launch and never again while the app ran; it is now re-checked daily and on wake, and a stored key is retried before a trial starts on a Mac whose hardware id changed.
  • Desktops named Seven, Last, Forward and the like could be saved but never reached by voice or typing; those names are refused with the reason.
  • Saying "desktop twenty two" could land on desktop 20 before the second word arrived.
  • Automations: a shell action that timed out kept running, one printing a lot hung, and AppleScript ran on the main thread and froze the app. A damaged automations file is moved aside instead of being replaced by an empty one on the next save; the same for an unreadable names file.
  • Toasts and the listening card appeared behind the Board. The Fn + F3 combination was swallowed. Two quick switches could hide the second name card. Escape and digits typed in Settings were eaten while the listening card was showing.
  • Licence server: a paid checkout could lose its key if a webhook failed mid-way, a partial refund revoked the whole licence, two Macs activating at once could exceed the seat count, and an old AppSumo webhook could be replayed. All four fixed, with rate limits on the public endpoints.
1.2.23 September 2026

Added

  • DeskSay now updates itself. It checks once a day, downloads the new version in the background and installs it when you next quit or when you accept the prompt. Both switches are in Settings, General, and Check for Updates… is in the menu. Everyone on 1.2.1 has to download this one by hand; from here on, no more.
  • The Board. The full-screen grid of every desktop is now the centre of the app: tap Option and Command together to open it (the key shortcut still works), or pick "Show the Board" at the top of the menu. It opens on the desktop you are on, hovering a tile highlights it and shows its preview, clicking switches.
  • Rename from the Board: right-click a tile, click the pencil beside its name, or press ⌘↩. Right-click also offers Switch, Show Full Size, Icon and Colour, Dim and Remove Name.
  • Full-size view: press space (or the corner button on a preview) to see one desktop at reading size; arrow keys step through desktops, Return switches, click the name to rename it there.
  • New Desktop, bottom left of the Board or ⌘N: asks for a name, adds the desktop through Mission Control, names it and takes you there. macOS allows 16 per display, and the Board says so when you are at the cap.
  • Shift-drag a window and the Board opens as the place to drop it: release over a desktop and the window goes there. The old one-row strip is still available in Settings, Switching.
  • Settings, On Screen, The Board: name size and app icon size, with a live sample tile that redraws as you move the sliders, and a gear on the Board that opens that pane.

Changed

  • DeskSay is now $1 a month for each Mac ($10 a year), with every update included, instead of a one-time price. Licences bought before this release keep working with no expiry. The Licence pane has a Manage subscription button that opens Stripe's portal, and the seat count follows the number of Macs on the subscription.
  • Board tiles show larger app icons with the app names under them, the preview sits in the bottom right corner (top left when it would cover the selected tile), the keyboard tips are readable from a chair, and dragging a tile to reorder follows the pointer with the others sliding out of the way.
  • Mission Control labels match the Board: the desktop's colour and icon on a dark pill instead of white on black.

Fixed

  • A cancelled subscription could keep the app fully licensed for up to 60 days, because a "no" from the licence server was treated like being offline. It now ends at the next check.
  • Clicking a tile on the Board could switch to the previewed desktop instead of the one clicked.

Questions

Does my voice go anywhere?

No. Recognition uses the on-device speech engine built into macOS. Nothing is uploaded, nothing is stored, and DeskSay works with the network switched off.

What does it ask for when I open it?

Accessibility, which is what makes switching instant and lets you drag a window to another desktop. Microphone and Speech Recognition, only for saying a desktop name out loud; skip them and every other way to switch still works. Screen Recording, for the window pictures on Board tiles; macOS asks once, when you turn them on in Settings, On Screen, and without it tiles show the apps on each desktop as icons.

Will macOS warn me when I open it?

No. macOS asks once whether to open an app downloaded from the internet, the same question it asks of any direct download, and that is the whole of it. The notarisation ticket is stapled to the download, so that check passes with the network off.

Does it work with more than one display?

Yes. Each display keeps its own desktops, and DeskSay names and switches them separately. The Board opens on every display at once, each one showing its own desktops with its own tile size, and the keyboard follows your pointer between them. Say a name and the desktop with that name switches, on whichever display it lives; with the same name on two displays, the one under your pointer wins.

Why is it not on the Mac App Store?

Reading and changing desktops needs access the App Store sandbox does not permit, so DeskSay is sold directly from this site, signed and notarised like any direct download can be, and updated in place from 1.2.2 on.

What happens when the trial ends?

Nothing is deleted. Names, notes, automations and time records stay, and you keep 30 switches a month until you subscribe.

How do I cancel?

From the app, Settings, Licence, Manage subscription, or at desksay.com/manage. Stripe's portal cancels it, and you keep unlimited switching until the end of the period you paid for. After that, DeskSay behaves as it does after the trial.

Why a subscription and not a one-off price?

DeskSay leans on parts of macOS that Apple changes every year, and keeping it working across those changes is ongoing work. A dollar a month per Mac pays for that work as it happens, instead of a bigger price that has to guess at it in advance.

I have more than one Mac

Choose the number at checkout; each is a dollar a month. One licence key activates on that many Macs, and you can add or remove Macs later at desksay.com/manage.

Do I need a microphone?

No. Voice is one way to switch. The Board, per-desktop shortcuts, the notch strip and window dragging all work without a microphone, and without granting microphone access.

Which versions of macOS are supported?

macOS 13 Ventura and later, on Apple silicon and Intel.