Changelog
What's new
This mirrors CHANGELOG.md in the repository. Kept up to date with every release.
1.0.31 11 October 2026
One security fix, 11 new features, two changes and one fix.
- Keysi now ignores a keysi://license link when a license is already active, refuses keymap and sync files that are oversized or are links to somewhere else, and rejects out-of-range synced settings.
- Two new built-in cheat sheets, Discord and Linear, appear when those apps are in front: 38 and 48 default Mac shortcuts, free like the other twelve.
- Two new built-in cheat sheets, Helix and Zellij, appear when
hx or zellij is running in your terminal: 50 and 44 default shortcuts, free like the other twelve.
- Settings ▸ Sheets ▸ Import Sheet… adds a sheet from a JSON file after showing what is in it, and keysi.io now has community sheets (lazygit, k9s, less, shell line editing) to import; nothing is installed from a link.
- Keysi can now open on a double-tap of ⌘, ⌥ or ⌃, as an alternative to holding a key; it is off until you turn it on in Settings ▸ Triggers, and a quick ⌘C ⌘V never counts as a double-tap.
- Keysi now reads your own Final Cut Pro command set and shows the shortcuts you have assigned that the menus do not show.
- Practice Mode now gives you one free drill a day, even after the trial ends or without Pro; unlimited Practice, and the rest of the coaching, stays in Keysi Pro.
- Keysi is now available in Finnish, Polish, Hindi and Traditional Chinese, bringing the app to seventeen languages; it follows your Mac's language automatically.
- Keysi now speaks Dutch, Swedish, Danish and Norwegian Bokmål: the overlay, Settings, Coach, Practice Mode and every message follow your Mac's language.
- New Sync tab in Settings keeps your custom cheat sheets, favorites and appearance settings the same on every Mac through a folder you pick, such as iCloud Drive; free, and off until you turn it on.
- Keysi now reads your own rebound shortcuts in Sublime Text, Sublime Merge and Zed, including two-step bindings such as ⌃K ⌃B, and shows them next to the shortcuts from the menus.
- Keysi Pro can now track a weekly goal of 3, 5 or 10 new shortcuts, shown in the menu bar menu and in Your Keysi and counted from the shortcuts you actually learned that week (off until you choose one in Settings ▸ Coach).
- Your Keysi now ranks up to eight apps by shortcuts learned, with a mastery percentage and a note on exactly what is counted.
- VoiceOver now announces the overlay when it opens, favorite and hide changes and each Practice question, reads menu paths and the key hints as words, and Practice's Next button can be pressed again.
- The activity grid in Your Keysi no longer cuts its first week, and that week's month name, in half.
1.0.30 6 October 2026
Three security fixes.
- Usage analytics, if you turned them on, no longer include your Mac's model, screen size, language, time zone or Wi-Fi state, which the analytics library was adding to every event on its own.
- Keysi is stricter about the dates it reads back from its saved licence and trial records, so a record that does not add up is no longer taken at its word.
- A cheat-sheet file over 1 MB, or a link in your Sheets folder that points at something other than a file, is now skipped instead of being read into memory; the oversized one shows up in the error list in Settings.
1.0.29 6 October 2026
Two fixes.
- The Integrations window's Raycast row no longer says the extension can run a command; it now says what the extension does: search cheat sheets and open an app's shortcuts, Practice or Progress in Keysi.
- The "Share anonymous usage data" box on Welcome's last page now shows its tick when clicked, and the Welcome window is smaller, with each page centred instead of leaving the empty space at the bottom.
1.0.28 6 October 2026
One fix.
- Keysi's own hotkey is now labelled with the key your keyboard layout types, in Settings, the menu bar and Practice: a German keyboard shows ⌃⌥ß rather than ⌃⌥-.
1.0.27 6 October 2026
One change and two fixes.
- The menu bar now shows Keysi Pro's price on its buy item and has an Enter License Key… item for after you've bought, and the progress screen no longer opens on a row of zeros when Keysi hasn't watched you work yet.
- The warning that another app's global hotkey swallows a menu shortcut now reads your keyboard layout, so German, French and other non-US keyboards no longer get false warnings or miss real ones.
- Clicking a row in the overlay works again after the app in front quits and reopens with the same menus, for example after it updates itself.
1.0.26 6 October 2026
One change and one fix.
- Keysi Pro now costs $14.99 once — still three Macs, a 14-day trial and every future update.
- The overlay opens much faster for apps with large menus, and no longer redraws every shortcut when it refreshes in the background.
1.0.25 6 October 2026
One new feature and two fixes.
- Choose Welcome to Keysi in the menu bar menu to replay the welcome tour any time: the live demo, a try-it page and the reminders, without asking again for anything you have already granted or chosen.
- The overlay no longer redraws every row when an app's menus haven't changed, appears without a fade when you switch apps, and records the shortcuts you press without a disk write for each one.
- Window titles and project paths stay out of Coach files, Welcome can ask for Accessibility again, an unverified licence is never shown the paywall, and Keysi warns when its hotkey is taken.
1.0.24 6 October 2026
Three new features.
- The overlay now warns when another running app's global hotkey (Raycast, Rectangle or Keysi's own) takes a shortcut first; System Shortcuts lists them, and Settings → Triggers flags a clash with Keysi's hotkey.
- Every app and cheat sheet page on keysi.io now has an Open in Keysi button that shows that app's shortcuts, or that sheet in Settings ▸ Shortcuts, in one click — free.
- Share Progress… in the Your Keysi window makes a picture of what you've learned — counts, your keyboard and your recent activity, with app names only if you tick the box — to send with AirDrop or Messages, copy, or save.
1.0.23 6 October 2026
One fix.
- German now says Tastaturkurzbefehl everywhere it means a keyboard shortcut, including the welcome window's permission text.
1.0.22 6 October 2026
Four new features, three changes and two fixes.
- The welcome window now has you try holding ⌘ once, notices when the shortcuts appear, and offers a first Practice drill on that app; Skip is always there.
- Keysi Pro now notices when an app updates and marks the shortcuts the update added in the overlay — a New badge on each, and a count in the header — for two weeks.
- Practice Mode now uses spaced repetition: shortcuts you get right come back after 1, 2, 4, 8 and then 16 days, misses return the next day, and the drill shows how many are due today.
- Keysi Pro now notices the menu commands you keep clicking that have no shortcut, and Settings ▸ Coach suggests a free key combination for each, with how to add it in System Settings.
- The menu bar menu is grouped by kind, its windows come to the front and close with Escape, opening Keysi again shows Settings when the icon is hidden, and Practice speaks answers to VoiceOver.
- The welcome window now goes one page at a time: a live demo to try before granting access, one permission, a first real hold, and a last page with an unticked analytics opt-in; Practice Now never opens an empty drill.
- Counts read correctly in every language ("1 shortcut", not "1 shortcuts"), license errors say what to do next, and German now says Tastaturkurzbefehle, so keyboard shortcuts no longer share a name with the Shortcuts app.
- Coach reminders stay put while the pointer is on them and work with VoiceOver, and the overlay now beeps when a command can't run, reads search results and the selected row aloud, and marks favorites with a star.
- Keysi Pro owners now get their progress, not the paywall, from Settings; the automatic recap no longer takes the keyboard; and shortcut recorders start from the keyboard and record ⌘W or ⌘Q instead of acting on them.
1.0.21 5 October 2026
One change and seven fixes.
- Markdown and PDF export, and showing an app's shortcuts from Raycast, Alfred, Shortcuts or the terminal, are now free; the 14-day Pro trial starts when you grant access, and the menu bar says what it is.
- Keysi no longer saves window titles or recent document names in its menu cache, and Reset Statistics now clears that cache; usage analytics no longer send menu item names; Shortcut Coach stays responsive when an app hangs.
- Search ignores accents, VS Code keybindings with a trailing comma and abbreviated Vim mappings are read, and Coach history survives a downgrade, the Japanese calendar and toggling Coach in browsers.
- ⇧⌘K no longer also reaches the app you're in, Caps Lock no longer stops it working, Tab after recording a shortcut moves on instead of rebinding it, and shortcuts like ⌘{ and ⌘? now count in Coach, Practice and conflict warnings.
- Keysi now rechecks your license while it stays open, "Unlock Keysi Pro…" in Integrations opens the license pane again, and Show Shortcuts and export by app name use the app you named instead of the last one you used.
- Overlay rows are clickable again after a relaunch, a pinned panel stays where you drag it, and the footer names your hold key, while its hints and VoiceOver labels are now translated.
- The Run Menu Command shortcut no longer fails when Keysi answers from its saved copy of an app's menus, such as just after a relaunch.
- A new sheet can no longer silently replace a built-in or another of your sheets, a failed save now says why and keeps your work, and Return moves past a wrong answer in Practice Mode.
1.0.20 23 September 2026
One change and two fixes.
- The lock in the overlay's header now reads Secure input, and clicking it tells you which app turned it on and how to turn it off.
- Holding ⌘ now shows the overlay the first time after you switch apps with ⌘-Tab, instead of needing a second hold.
- The overlay no longer loses its app icon, name and buttons off the top when an app has a long menu, and it stays put instead of freezing at a half-grown size.
1.0.19 23 September 2026
One fix.
- Keysi now notices Accessibility access as soon as you grant it, instead of asking again until you quit and reopen it.
1.0.18 23 September 2026
One fix.
- With usage analytics off, Keysi no longer contacts the analytics service at all. Before, it fetched the service's settings at every launch even with the toggle off.
1.0.17 22 September 2026
Two fixes.
- Practice Mode stops repeating itself: a second drill the same day asks different shortcuts, one you have learned leaves "Still Learning", and the count beside Practice no longer promises two questions then asks ten.
- Reset and Restart Keysi now really restores Accessibility after an update: Keysi restarts so the permission takes effect, works even with Welcome closed, and Welcome no longer crashes when access lapsed.
1.0.16 17 September 2026
Two fixes.
- Shortcut Coach now really does count menu items you choose with the arrow keys and Return: 1.0.15 said it did, but on macOS 27 it counted none.
- Shortcut Coach no longer misses a menu item you click after moving the pointer past a submenu, such as Edit ▸ Find on the way to Select All.
1.0.15 17 September 2026
Six new features, three changes and nine fixes.
- Shortcut Coach now also notices menu items you choose with the keyboard (Control-F2, the arrow keys and Return).
- A built-in Ghostty sheet adds the 31 default shortcuts its menus leave out, including prompt jumping, scrollback, tab numbers, search and line editing.
- On macOS 27, the shortcuts in your custom sheets are indexed into Spotlight as App Entities, the form that Spotlight's semantic search and Siri work with.
- Built-in Notion and Obsidian sheets add the editing, navigation and block shortcuts their menu bars leave out — 46 for Notion and 35 for Obsidian.
- Settings → Appearance has a new Style section for the overlay: a glass, tinted or solid background, raised, flat or text-only keys, your own accent colour, and subtler or rounder corners.
- Feature requests now have a public page, keysi.io/roadmap.html, where I want this too opens Keysi's feedback form as a vote for that request, with nothing sent until you press Send.
- Shortcut sheets you export as Markdown or PDF now end with a link to keysi.io, so whoever you share one with can find where it came from.
- Practice drills now skip the menu items every app has, such as Settings and Hide Others, so a first drill asks the app's own commands.
- Overlay search now matches on each word you type rather than the whole phrase, and puts the menu with the best match first — so "hide the left sidebar" finds View ▸ Hide Sidebar instead of coming back empty.
- Shortcut Coach no longer files an item from another app's menu bar icon under the app you are working in.
- Shortcut Coach now records how long a menu trip took when you open the menu with one click and choose with another, instead of only when you press, drag and release.
- Shortcuts that use the Globe key now show it, so Window ▸ Fill reads ⌃🌐F instead of ⌃F, and the Move & Resize commands no longer carry a false warning that they clash with Mission Control.
- The Globe and Dictation keys now appear as the same monochrome symbols macOS menus use, instead of colour emoji.
- Typing a shortcut like ⌘K no longer brings up the overlay, even in Terminal with Secure Keyboard Entry, in password fields, or when another app owns the shortcut, and holding ⌘ now works with Caps Lock on.
- The overlay's header and footer dividers no longer poke out past the panel's rounded edge.
- Exported PDFs now start at the top of the page instead of floating halfway down when the list is short.
- VoiceOver now reads key names such as Left Arrow and Page Up in your language instead of always in English.
- Spotlight search over custom sheets no longer stalls without a word when macOS refuses Keysi's entries, as macOS 27.0 does: Keysi logs why, and the Integrations window flags it.
1.0.14 15 September 2026
One new feature.
- Settings ▸ Shortcuts now shows each app's real icon beside its cheat sheet, and the sheet editor's "Applies to" list shows the icon and name instead of a bare bundle identifier.
1.0.13 15 September 2026
One change.
- The overlay's text now starts at 14pt instead of 12pt, and ⌘+ / ⌘− / ⌘0 change the size while it's open.
1.0.12 15 September 2026
Two new features and two fixes.
- Keysi now runs on macOS 14 Sonoma and later, instead of requiring macOS 26 — the Liquid Glass panel is used where the system has it and falls back to Keysi's own opaque paper below it.
- A new System Shortcuts window in the menu bar lists every key combination macOS itself is claiming on your Mac, grouped and searchable.
- Conflict warnings now fire for shortcuts that use the Space bar, including ⌘Space for Spotlight, which Keysi could never match before.
- Conflict warnings no longer name the wrong system function: a ⇧⌘4 shortcut was reported as clashing with "Show Notification Center" when it actually clashes with saving a screenshot of a selected area.
1.0.11 15 September 2026
Two new features and one fix.
- When an app keeps its shortcuts out of the menu bar, the overlay now says so and offers Add a Cheat Sheet… instead of leaving you at a dead end.
- Settings ▸ Sheets now links to the sheet catalogue, so finding a sheet someone else wrote no longer means hunting for the website.
- The overlay's empty, failed and footer-hint messages are translated again — they had been shipping English in all eight other languages.
1.0.10 14 September 2026
One fix.
- The pin that appears when you hover a shortcut no longer sits on top of the key it belongs to.
1.0.9 14 September 2026
Three new features, two changes and one fix.
- Keysi now reads the shortcuts you rebound yourself in apps like IntelliJ IDEA, Android Studio, VS Code and Xcode, and shows the ones their own menus never could.
- Three more built-in cheat sheets: Excel, Word and Emacs.
- Keysi now reads the mappings you wrote in your own
.vimrc or Emacs init file, with <leader> replaced by whatever you set it to.
- The overlay now shows what it already knows instantly and checks for changes behind your back, so an app with a huge menu bar no longer keeps you waiting.
- Practice Mode can now show you the shortcut when you have never used it — it counts as one you were shown rather than one you knew — and the drill window has been redesigned.
- The overlay no longer loses its title and app icon when it opens on a second display.
1.0.8 14 September 2026
One fix.
- Keysi no longer blames a permission problem on "a different copy of Keysi" when it has no idea. That sentence is true only when Keysi has actually seen the Accessibility grant change hands between two differently signed builds; the rest of the time it was a stopwatch running out, and someone who had simply taken more than twenty seconds to find the switch in System Settings was told a story about copies that do not exist — and lost the Grant Access… button while reading it. Keysi now says what it knows: that macOS has not applied the permission yet, with both buttons still there, and the stale-entry recovery offered underneath rather than as the diagnosis. Being sent to System Settings also buys two minutes instead of twenty seconds, since finding the row is the slow part. The diagnostic report gained the two lines this needed all along: where Keysi is running from, and where it was running from the last time it had access.
1.0.7 14 September 2026
Two new features, one change and one fix.
- Keysi now offers to open at login. Once you've granted Accessibility access, the welcome window asks the question once — answer either way and it never comes back. The setting is not new, but it started off and lived only in Settings, so an app that sits in the menu bar doing nothing until you hold ⌘ gave you no reason to go and find it, and quietly stopped running at the next restart. The toggle is still there in Settings ▸ General if you change your mind.
- Keysi installs with Homebrew now:
brew install --cask noloman/keysi/keysi. It is the same signed, notarized build the download button hands out — the cask is a checksum of that exact file — and it keeps updating itself, so Homebrew will not fight Keysi's own updater. If you already have Keysi in your Applications folder, brew install --cask --adopt noloman/keysi/keysi takes over the copy that is already there.
- The privacy page now lists one more thing Keysi can send, because the welcome window has one more thing to ask: whether it should open at login, how you answered, and — when you said yes — whether macOS actually registered the login item. Anonymous, opt-in with the rest of usage analytics, off unless you turned that on, and sent at most once per Mac. The full list is on the privacy page.
- The Keysi Pro screen now lists everything Keysi Pro actually does. Two paid capabilities were missing from it: exporting an app's shortcuts to a file, and the marks on the overlay's own rows showing which shortcuts you have actually learned. It also said export produced Markdown or a PDF, when it has offered a third format — a desktop picture sized to your screen — since that landed.
1.0.6 13 September 2026
Eight new features, 10 changes and 17 fixes.
- There is now a page at keysi.io/integrations.html explaining every way Keysi can be reached from outside itself — the Raycast extension, the Alfred keywords, the
keysi terminal command, Shortcuts and Siri, Spotlight and the Services menu — with the setup each one needs. The Integrations window in the app links to it.
- There is now an Integrations window — in the menu bar, next to Your Keysi Progress — that says what "Keysi, reachable from everywhere else" actually means on your Mac. It lists all six surfaces (Raycast, Alfred, the
keysi terminal command, Shortcuts and Siri, Spotlight, and the Services menu), shows which of them are ready and which need a step, and ends each one in an action rather than an instruction. It knows whether you have Raycast or Alfred installed and shows their own icons when you do, and it tells you whether keysi is on your PATH — including the case worth knowing about, where something *else* on your PATH already answers to that name. The terminal setup is a command you copy and run yourself: Keysi will not write into a directory on your PATH, and nothing in this window runs anything to work out what it shows.
- Your Keysi now includes a map of your own keyboard, with the keys you reach for shaded in — and the modifiers counted separately underneath, which is where most people find something out about themselves. It is built only from the shortcuts Keysi already tracks: the ones it learned from an app's menus and then watched you press. Keysi does not record what you type, and this feature does not change that.
- The overlay now shows you which of the shortcuts in front of you you've actually been using. Rows the Coach has watched you press carry a small mark that fills in as the shortcut sticks — once or twice, starting to use it, and using it — so the progress Keysi has always tracked is finally visible where you already look, instead of only in Settings. It's part of Keysi Pro, it counts real keypresses only (clicking a row here is the habit Coach exists to replace, so it never counts toward one), and a shortcut you've never pressed stays unmarked rather than covering the panel in empty circles. Nothing about the free overlay changed: with Pro off, every row renders exactly as it did before.
- The overlay's text size is now its own control, on a slider from 10 to 20 points, separate from the Compact/Comfortable/Large setting that used to carry it. Those were two settings pretending to be one: asking for tighter rows also shrank the type, and asking for bigger type also spread the rows apart, so nobody could have large text on a dense panel. macOS has no system-wide text-size setting for apps, which is why Keysi has its own — and why it is free, and stays free. Settings ▸ Appearance previews the result as you drag. Existing settings carry over unchanged: whatever size your density preset implied is the size you keep.
- Practice Mode now ends with something to look at. Instead of a bare score, the last screen lists the shortcuts you drilled with their keys drawn as real keycaps — and for the ones you got wrong, the key you actually reached for beside the one you wanted, which is usually the whole explanation. It also tells you where the session landed: a drill counts towards your streak, and now it says so.
- Your Keysi is now a window of its own, not a list in Settings. The menu bar's *Your Keysi Progress…* opens it: how many shortcuts you have learned, how many days in a row you have used one, a year of your activity drawn as a grid of little keycaps, which apps you have picked them up in, and the ones you are still learning with their chords shown as real keys. Every number on it is counted rather than estimated. Previously that menu item opened the upgrade recap — which is a fine thing to see once, and an odd thing to be shown when you have already bought the app and just wanted to look at your progress.
- Exporting an app's shortcuts now offers a PNG alongside PDF and Markdown — the same shortcuts laid out as a desktop picture, sized to the screen you are on, with the keys drawn as real keycaps on a dark ground. The shortcuts you actually want are the ones you have not learned yet, which makes the useful place for them somewhere you cannot avoid looking. If an app has more shortcuts than the screen can hold, the picture says how many fit rather than quietly dropping the rest.
- If you run a browser Keysi doesn't recognise, you can now name it yourself rather than waiting for an update:
defaults write me.manulorenzo.Keysi additionalBrowserBundleIDs -array com.example.SomeBrowser. The built-in list also learns Chrome for Testing, which turns up on a lot of developer machines.
- Practice Mode now shows how you are doing while you do it, and what to learn when you finish. A progress bar across the top fills in as you answer, marking which ones you got and which you missed; a correct answer is acknowledged instead of silently moving on; and the last screen lists every shortcut you missed or skipped, with its keys, instead of showing only a score. Settings ▸ Coach gains a bar showing how many of the shortcuts Keysi is tracking you have learned. Reminders can now appear in the middle of the screen or below the menu bar instead of the bottom-right corner, if the corner has been too easy to ignore.
- Shortcut Coach, Practice Mode and your statistics now concentrate on the apps you actually work in, and leave browsers alone. Keysi is built for the apps with menu bars deep enough that learning them buys back real time — editors, IDEs, Slack, Office — and a browser is not one of them: learning how to open a tab from the keyboard saves nobody an afternoon. Reminders, drills and the shortcuts counted in Your Keysi now skip Safari, Chrome, Arc, Firefox, Edge, Brave and the rest. Browser shortcuts Keysi had already recorded are hidden rather than deleted, so nothing you built up is lost and switching back restores it all — and Settings ▸ Coach can still erase the lot if you'd rather. The overlay is deliberately unchanged: hold your trigger in any browser and you still get its whole menu bar, exactly as before. If you do want to drill your browser's shortcuts, Settings ▸ Coach ▸ Coach me in browsers too turns the whole thing back on.
- Shortcut Coach's reminder has been redesigned around the thing it is actually for. The chord is now a full-size keycap on its own line rather than a small one buried inside a sentence, and the generic lightbulb has been replaced by the icon of the app the reminder is about — so a reminder about Figma says "Figma" before you have read a word of it. It can also be sized and moved now: Settings ▸ Coach offers Small, Medium and Large, and any of the four corners. The reminder appears in the corner of your eye while you are looking at another app, which is a different job from reading a cheat sheet — so it gets its own controls rather than following the overlay's, and the corner that is out of the way in a text editor is the busiest part of the window in Xcode or Figma. It still appears on whichever display you are working on. Medium and bottom-right are exactly what it has always been, so nothing changes until you change it.
- Keysi's windows now use the same translucent Liquid Glass as its shortcut overlay, with the titlebar blending into it rather than sitting on top as a grey bar — the welcome screen, What's New, Send Feedback, the sheet editor, Practice and your progress. They all follow macOS's Reduce Transparency setting, so turning that on makes them solid.
- Every row in the Integrations window now carries a coloured icon badge. Previously the one app Keysi could find on your Mac showed its real full-colour icon and everything else showed a grey glyph, which read as two designs in one window rather than one list.
- Keysi's progress screen reads better. The headline no longer opens with what Keysi is doing to you — it says what is true about your own week, which is the thing Keysi Pro then offers to change. The three numbers underneath sit in even columns instead of drifting apart as the figures grow.
- Your Keysi reads better. The activity grid is labelled with the months it covers, so a gap is a fortnight in July rather than an unexplained pale patch. An app you have not learned anything in yet says "6 watched" instead of "0 of 6", which was the same fact arranged as a telling-off. A brand-new install says what it is waiting for instead of showing three zeroes and an empty year. And "Still learning" no longer appears as an empty heading once you have learned everything Keysi was watching — which was, of all the states to render badly, the best one.
- Settings ▸ Shortcuts now says what it is for. It lists four built-in sheets — Vim, tmux, Figma, Slack — and said nothing about the thousands of apps Keysi handles without any sheet at all, so it read as the complete list of supported apps. It now explains first: Keysi reads every app's own menus, and sheets exist only for apps whose shortcuts aren't in a menu bar to read.
- Keysi now looks like Keysi. The app has always been drawn in the macOS default palette —
Color.primary on a windowBackgroundColor — while the marketing site it ships from has a warm identity of its own: a paper off-white, a terracotta accent, and keycaps with a real key face. The two read as different products, and the app was the half with no colour of its own. The site's palette is now the app's. Panels and windows sit on warm paper instead of system grey, text is a warm ink rather than a cool near-black, warnings are the site's amber instead of a bare system orange, and the keycap — the most repeated thing Keysi draws, and the most recognisable thing in a screenshot — gets the full key face: a vertical gradient from a lit top to a shaded bottom, a hairline edge, and a lit top rim. Nothing about this is a departure from the platform. Every colour ships Light and Dark variants that are *not* inversions (the dark terracotta is the lighter of the two, which is what HIG asks for), and the ones that carry meaning — borders, secondary and tertiary text, the keycap edge — ship Increase Contrast variants on top of that. Reduce Transparency still turns the glass off, and now gets Keysi's paper rather than an anonymous window fill: that setting asks for opacity, not anonymity. The keycap's gradient drops to a flat face under Increase Contrast, because a gradient is a soft edge and that setting is a request for hard ones. Settings came along with it. The panes sit on the same paper, their explanatory copy is the same warm ink, and the "Open System Settings"–style links follow your accent instead of the fixed system blue they used to paint — which, on a Mac whose accent is anything but blue, was the one part of the app ignoring the choice you made. The section cards themselves stay the platform's: .grouped draws those, and a Settings pane that hand-paints its own rows stops looking like a Settings pane. The status colours moved into the same family. A ready integration is Keysi's sage rather than system green, an invalid licence key or an unparseable sheet is a warm brick red rather than system red, and a conflict is the site's amber. Each one still carries its own glyph, so none of them is told apart by hue alone. One thing deliberately did not change colour: selection. The keyboard cursor, the matched-modifier tint and every other highlight still follow the accent you picked in System Settings. The brand took the surfaces, the edges and the keycaps; the highlight is still yours.
- The two places Keysi asks you to record a keyboard shortcut — the global hotkey in Settings ▸ Triggers, and a row's keys in the custom sheet editor — are now reachable and usable with VoiceOver and without a mouse. Both were drawn as plain panels with a click handler, so macOS did not consider them controls at all: VoiceOver announced no name, offered no action, and neither field could be reached from the keyboard. They now say what they are, read the recorded shortcut aloud as words ("Shift Command K", not a row of glyphs), and can be activated without a pointer. Keycaps everywhere in the app — the overlay, the Coach reminder, Practice Mode — now carry the spoken form of the shortcut they draw, so a screen reader reads "Shift Command S" wherever one appears rather than a row of symbols it cannot pronounce.
- The progress screen no longer undercounts the apps Keysi has been watching. It counted them by a field that only exists on shortcuts you have missed since a past update, so a history spanning nine apps could be described as one. Nothing about the history changed — only the counting.
- Resetting Shortcut Coach's statistics no longer switches the weekly summary off. Settings ▸ Coach ▸ Reset Statistics cleared the history but left the summary's bookmark of it behind, so every week afterwards looked like a quiet one and no summary was ever sent again — until you had built your whole previous total back up, which for a long-time user could be months. Keysi now clears the bookmark with everything else, and recognises a stale one on its own, so a summary that has already gone quiet starts working again by itself.
- Shortcuts Keysi learned about before a past update now count again. If you had been using Shortcut Coach for a while, those older shortcuts were invisible to Practice Mode — a drill could be one question long next to a list of twenty — and pressing one of them never registered as a press, so they could never be marked learned and never showed up in your progress. Nothing was lost; it is all counted from now on.
- The buttons on Keysi's progress screen no longer run off the edge of it. At the window's own width the three of them did not fit, so macOS cut the two that mattered down to "I Already Have a…" and "Unlock Keysi Pro…".
- Adding your own terminal now works. Keysi shows the built-in Vim and tmux sheets by noticing what's running inside a terminal, and for a terminal it doesn't already know about there's a
defaults write command to add it by hand. The setting Keysi actually read had a different name from the one that command wrote, so it had never had any effect for anyone who tried it. The names match now, and the documented command is the one that works.
- Keysi's warm palette now actually changes under Increase Contrast. It was supposed to from the day the palette landed: every colour that carries meaning — the borders, the secondary and tertiary text, the keycap edge — ships a stronger variant for people who have turned that setting on in System Settings ▸ Accessibility ▸ Display. None of them were ever served. The palette asked AppKit which appearance it was drawing in via
bestMatch, and bestMatch collapses a high-contrast appearance onto its plain one — so the high-contrast branch was unreachable and everybody got the standard tones. Nothing logged, nothing looked broken, and the only way to see it was to render all four appearances side by side and notice that two pairs were byte- identical. Contrast is now read from the appearance's own name and from the system setting directly, either of which is enough. A test pins the AppKit behaviour that caused it, so the tempting simplification — folding contrast back into the same call that already handles Light and Dark — fails with the reason attached instead of quietly reintroducing it.
- Keysi's Shortcuts, Spotlight and Siri actions are now translated. Every action title, description, parameter and error message in them had been shipping in English regardless of your language — as had a few lines in Practice Mode, the overlay's result count, and two rows in Settings ▸ Updates. All of them are now in the nine languages Keysi ships.
- The Integrations window now finds Alfred whether you are running Alfred 5 or an older version that registers itself under a different name. It previously checked one identifier, so an older install would have been told "Alfred isn't installed" while Alfred sat in the Dock — and would have lost its real icon in the list along with it.
- The progress screen no longer cuts off what Practice Mode does. The longest line in the Keysi Pro list was truncated mid-word at that window's width, so it read "drilling the ones you keep missing — and the ones y…". It wraps now.
- Exporting an app's shortcuts as a PDF from a Mac in Dark Mode produced a footer that was nearly invisible on the page. The footer line — the one carrying the app name and the date the sheet was taken — was drawn in macOS's
secondaryLabelColor. That colour is dynamic: it means "grey against whatever this Mac is set to". Exported in Dark Mode it baked in the *dark-mode* grey, which is a pale one, and a PDF has no appearance to adapt back to. The page is white, so the footer printed as very nearly nothing. In Light Mode the same export was fine, which is why it could go unnoticed. The footer now uses a fixed tone from Keysi's own palette rather than whichever one the exporting Mac happened to be in, so the same sheet exports identically from any Mac.
- Keysi no longer wakes its own interface once a second while it is waiting for Accessibility permission. The check that polls for it republished its result every time whether or not anything had changed, which redrew every part of Keysi watching that permission.
- Finishing a practice drill no longer quits Keysi. The summary screen — your score and the shortcuts worth another look — is taller than a question, and growing the window to fit it crashed the app every time, so the end of a drill was unreachable. The summary also now wraps its text instead of cutting it off, and stays on screen when the list is long.
- Three paid features were reachable without Keysi Pro, and two paid windows were hidden from the people who had bought them. Asking the Services menu "what's the shortcut for this?" worked on the free tier, as did Spotlight search over your custom sheets — which was also never removed when a trial ended. Meanwhile *Your Keysi Progress…* and *Integrations…* were attached to the licence-status line in the menu bar, which only appears during a trial or on the free tier, so anyone holding a licence had no menu route to either window. Asking Siri for your progress showed an upgrade screen even if you had already upgraded, and the "Practice…" button in Settings ▸ Coach did nothing at all. All fixed, and the reminder's size and corner are now correctly editable on any tier, as they were always meant to be.
- The progress screen no longer says "1 apps" or "1 shortcut presses". Both counts are 1 exactly when you have only just started using Keysi, so the wrong plural was the first thing a new user read there.
- Everything that opens Settings works again. On macOS 26 the way Keysi asked for its Settings window stopped working, and it failed silently — so
keysi:// links did nothing, the activation link you follow after buying did nothing, "I Already Have a Key" on the progress screen did nothing, the overlay's Settings button did nothing, and opening Keysi from a Spotlight result did nothing. Each of those now opens the one page it was always about: your Keysi Pro details for the licence links, General for the overlay button, Shortcuts for a Spotlight result.
- On a Mac with more than one display, the windows Keysi opens for itself — the Practice drill, Your Keysi, Settings, Integrations, the sheet editor — could appear on a monitor you weren't looking at. They were centred with
NSWindow.center(), which centres on "the screen containing the key window". That is the right rule for an ordinary app and useless for this one: Keysi is a menu-bar app that usually has no window open at all, so there was no key window to follow and macOS fell back to whichever display happened to be active last. Measured on a laptop with an external display mounted above it: keysi://practice opened the drill 1,317 points above the top of the screen being worked on — fully on the other monitor. Every route into these windows that isn't a click in Keysi's own menu hits exactly that case: Raycast, the Alfred workflow, the keysi command, Shortcuts, Siri, Spotlight. A drill you have to go looking for is a drill you skip. Keysi now opens them on the screen holding its own key window when it has one, and otherwise on the screen under your pointer — the same rule hold-⌘ has always used to decide where the overlay appears.
1.0.5 12 September 2026
10 new features, one change and six fixes.
- An Alfred workflow, and a
keysi command that ships inside the app, both with three keywords: show, practice, export. Keysi was reachable from Raycast and Shortcuts already; these are the same idea for people who live somewhere else.
- Settings ▸ Appearance shows a live preview of the overlay at whatever settings you have selected, plus Restore Defaults. "Compact" versus "Comfortable" is a number of points and "before the name" is a column alignment — neither is something you can picture, and the alternative was to change a picker, close Settings, hold your modifier over another app, and compare against a memory.
- You can now send feedback from inside Keysi — from the menu bar, from Settings, or from a one-line prompt Keysi shows at most once per version once it has actually saved you some menu trips. The form shows you exactly what will be sent before it sends anything, an email address is optional and used only to reply to you, and nothing about the apps or menus Keysi reads ever goes with it. If you are offline, what you wrote is kept and sent the next time Keysi starts.
- The overlay now answers to Increase Contrast and Reduce Transparency. Keysi's colours already followed Dark Mode and your accent colour, but its opacities and hairline borders were the app's own decisions and no system setting reached them. With Increase Contrast on, the borders and keycaps strengthen; with Reduce Transparency on, the panel drops its glass for an opaque background and keeps an outline strong enough to stand on its own.
- You can choose where the overlay opens. Settings ▸ Appearance ▸ Opens: centred as it always has been, near the pointer, at the top of the screen, or wherever you last dragged it to. Centred is still the default and nothing changes unless you pick something else — it was the right choice for a laptop, and less so on a display where the middle of the screen is a second of eye travel from the window you were working in.
- You can choose what order the rows come in — as they appear in the app's own menus, alphabetically, or most used first. Menu order stays the default, because a cheat sheet whose rows sit where the real menu puts them is most of the point. Most Used leaves anything you have never used in menu order, so switching to it on day one changes nothing and the list sorts itself out as you work.
- The overlay now suggests one shortcut worth learning even in apps Keysi cannot watch you work in — Figma and Slack among them, whose shortcuts never appear in a menu bar. It used to leave that corner of the panel empty in exactly the apps where a suggestion is hardest to come by otherwise.
- The menu bar now says how many shortcuts are ready to practice and how many days in a row you have used one. It is a number you can go and look at: no notification, no badge, nothing that pings you to protect a streak. Missing a day costs the count and nothing else.
- Export any app's shortcuts as Markdown or a printable PDF — from the menu bar, from Shortcuts, or from the new
keysi terminal command. Your custom cheat sheets are included, so a Vim or Figma sheet prints alongside the app's own menus.
- Keysi now shows you what changed the first time you open a new version, in a window you can also reach any time from the menu bar. If you skipped a few versions, it shows everything you missed at once. The window resizes and remembers the size you gave it, which matters more than it sounds for a release with a lot in it.
- Practice Mode works on the first day now. It still drills the shortcuts you keep reaching for the mouse to use, but when it has not watched you miss enough of them yet it fills the rest from the menus of the app you were just in — so it opens with something to do rather than telling you to come back in a week. It leaves out the ones everybody already knows, so you will not be drilled on Command-C, and a session is ten questions, so it ends.
- Keysi now recovers from an Accessibility permission macOS will never honour. If the entry in System Settings was written by a different copy of Keysi — a beta, a build from source, or an older install — it keeps its switch on and silently never applies, and turning it off and on again cannot fix it. Keysi now recognises that state, explains it, and offers to reset the entry for you. The permission Keysi reports is also live everywhere now: the menu bar item used to show whatever the answer had been when Keysi launched, for the rest of the session.
- The update window now tells you what is in an update before you install it. Every release until now offered an update with a blank "what's new" pane, which is a poor thing to ask someone to say yes to.
- Deleting a custom cheat sheet and resetting Shortcut Coach's statistics now ask first — both threw away work permanently on a single click — and a delete that fails now says so instead of looking like it worked. The sheet editor no longer discards a sheet you were part-way through writing when its window is closed, and it can be resized. Activating a licence shows that it is working rather than just greying out the button, and the overlay's search field, its clear button and the hotkey reset button are now reachable with VoiceOver.
- The progress screen counted practice answers as menu trips you had avoided, which inflated the "time not spent in menus" figure for anyone who had used Practice Mode. It now counts only the shortcuts you pressed while actually working, and says how many of your presses were drills. The whole point of that figure is that it is arithmetic on two things Keysi measured, so it being wrong mattered more than its size.
- Fifty-two pieces of text that had only ever been English are now translated into all nine languages Keysi ships. Among them: five licence errors, including the ones a buyer sees if a payment is refunded or disputed; both privacy captions in Settings, which are the two places the app explains what it does and does not send; the overlay's secure-input warning; and the row hint VoiceOver reads aloud. They had been added by hand in a way the existing translation check could not see.
- The welcome window, Practice, What's New, the progress recap, the feedback form and the sheet editor now open in the middle of the screen. They were measured and centred before their contents had been laid out, so each one then grew up and to the right and opened near the top-right corner.
1.0.4 11 September 2026
A security review of the whole app. Nothing here was being exploited, and none of it needed anything from you — but two of them were ways something else on your Mac could have made Keysi act without your say-so, which is worth closing whether or not anyone had noticed.
- The "Run Menu Command" Shortcuts action now matches a command's name exactly instead of accepting any prefix of it. Asking for "Delete" could previously run "Delete All Messages…" — you name a command and get a longer, more destructive one you never asked for. A trailing "…" is still optional, so "Save As" still finds "Save As…", and a name that matches two commands now reports that rather than guessing between them.
- Keysi no longer takes orders from any program on your Mac that asks it to come to the front. There is a message a second copy of Keysi sends to the first so that launching it twice does something visible; it was not checked, so anything at all could send it and make Keysi steal your focus and open a window, over and over. Keysi now verifies that the request really came from another copy of itself.
- The privacy page now lists two things Keysi was sending that it hadn't named: your macOS version alongside app launches, and three counters (shortcuts tracked, learned, and used) alongside the progress recap. Both were always anonymous and neither is new, but that page ends its list with "Nothing else", which is a promise rather than a summary.
1.0.3 11 September 2026
Two fixes to how Keysi Pro is gated outside the app itself. If you don't use the Raycast extension, there is nothing here for you.
- The Raycast extension's Pro gate now expires on its own. One of its commands — searching your cheat sheets — answers without ever asking Keysi, so it reads a small file Keysi writes to find out whether Pro is unlocked. Keysi only rewrites that file while it's running, and Keysi is a menu bar app people leave quit for weeks, so a trial that ran out while it was closed still read as unlocked. The file now carries the date Pro lapses, and the extension honours it. A purchased licence has no such date and is unaffected — it would be a poor thanks for buying to lock you out of Raycast for not launching the app.
keysi://license with no key now opens Settings ▸ License instead of doing nothing. That's the link the extension shows when it tells you a command needs Pro, and it was the one route out of being locked that didn't go anywhere.
1.0.2 11 September 2026
Mostly reach: Keysi is now available from Spotlight, Raycast, and a keysi:// URL, so it no longer depends on you remembering a hotkey. Pro also changed price — see the last entry.
- Keysi now asks about Pro at the right moment for people whose Coach data arrived slowly. It never shows an empty progress recap — a paywall with nothing in it is worse than none — but it only ever checked whether there was enough to show at launch and at the moment your trial ended. Keysi runs for weeks at a time, so anyone whose data was still thin on the day their trial ended was simply never asked again. It now checks when the data changes, still at most once.
- The overlay's footer no longer offers free-tier users a "Practice" button that can't practice. Practice Mode is part of Keysi Pro, so on the free tier that button showed the upgrade screen instead — it now says so rather than promising a drill it won't give you.
- Coach now catches a menu item chosen by holding the right mouse button and releasing over it, not only a left click. This matters more than it sounds: right-click menus turn out to have been within Coach's reach all along — measured in TextEdit, Chrome and Finder — and this was the one way of choosing an item in them that Keysi could not see.
- A new page on keysi.io lists every cheat sheet Keysi ships — all the shortcuts in each, and the JSON behind it to fork.
- If you have usage analytics turned on, Keysi now reports apps where macOS refuses to tell it a menu opened. Shortcut Coach can't see mouse-driven menu picks in those apps at all (Safari is the known one), and we had no idea how many others there are. It sends the app's identifier and the error, once per app per session, and nothing else —
site/privacy.html has the full wording. Analytics remains off unless you turn it on.
- Buy buttons now say which screen they came from, so it's possible to tell which ones are worth keeping. No new data is collected from you: the label rides along on the link to the store, the way any campaign link works.
- Keysi Pro now costs $19.99 instead of $9.99. Still one payment, still three Macs, still every future update at no extra cost, and the cheat sheet is still free with no time limit — the price change touches only the coaching. For comparison, the tool this most resembles charges $19.99 *a year* for three devices, and charges it for the part of Keysi that costs nothing. If you already bought Keysi Pro, nothing changes for you and nothing ever will — it was one payment and it stays bought, including every future update.
1.0.1 11 September 2026
If you are on 1.0.0, update. Two of these matter regardless of whether you ever buy anything.
- License activation now goes to the real Gumroad storefront. 1.0.0 shipped before the store opened, so it ran against a stand-in gateway that accepted any key — which is what makes a purchased key mean anything.
- Keysi now tells you when it's running from somewhere macOS won't let it keep its Accessibility permission — a mounted disk image, or the temporary copy macOS makes of an app opened straight from a download. In both cases the permission you grant silently stops applying, which looks like Keysi losing access it was just given. 1.0.0's disk image made this easy to walk into: it had no Applications folder to drag onto, so the obvious move was to run Keysi where it sat.
- The 1.0.1 disk image carries that Applications folder, and the copy of Keysi inside it now has its notarization ticket attached — 1.0.0's didn't, so first launch needed a working internet connection and could fail outright offline.
- A mistyped license key now says so, instead of reporting an unexpected server error.
1.0.0 11 September 2026
Initial public release.
- Hold ⌘ to reveal the frontmost app's keyboard shortcuts, grouped by menu, with breadcrumbs for submenu-nested items
- Real keycap rendering (⌘⇧S) instead of text notation
- Click any shortcut row to run it
- Global hotkey (default ⇧⌘K) for a searchable, interactive panel, with live modifier filtering, ranked search, and full keyboard navigation
- System-shortcut conflict warnings
- Free, with no time limit: the overlay, click-to-run, search, custom cheat sheets, conflict warnings, favorites and hiding. Not a trial — this part doesn't expire
- Keysi Pro ($9.99, one-time) adds the coaching: Shortcut Coach, Practice Mode, your measured progress, and a weekly summary. Every install includes 14 days of it, and when that ends Keysi drops to the free tier rather than stopping
- Shortcut Coach — notices when you pick a menu command with the mouse that already has a keyboard shortcut, and offers one quiet, dismissible reminder. Mute any single shortcut, or the whole feature, from Settings ▸ Coach
- Progress you can check: Keysi times how long your own menu trips take, so "you've skipped 412 of them" is arithmetic on two measured numbers rather than a guess. No invented "hours saved"
- Practice Mode, drilling the shortcuts you keep reaching for the mouse for, and an optional weekly summary of what stuck
- Configurable hold modifier — ⌘, ⌥, ⌃ or ⇧
- Custom cheat sheets, with built-in sheets for Figma, Slack, Vim, and tmux, plus an editor for writing your own — no hand-editing JSON
- Localized into 9 languages: English, Spanish, French, German, Italian, Portuguese (Brazil), Japanese, Korean, and Simplified Chinese
- Configurable hold delay, rebindable hotkey, optional menu bar icon, launch at login
- Secure-input awareness
- Opt-in crash diagnostics — off by default, generated on-device via MetricKit, never transmitted automatically even when enabled
- Signed updates via Sparkle
- Opt-in usage analytics (off by default) — app launches, Settings tab opens, the overlay showing, which shortcuts get triggered, and licensing/upgrade events; never a license key or payment detail. See
site/privacy.html for the full disclosure
- Licensing via Gumroad — 14 days of Keysi Pro, then the free tier