Drafts 54 released - OS 27 ready, Chat Console, Improved Dictation

Drafts 54 has been released:

Details below. For a complete history of updates, visit the release notes.

54.0

OS 27 & Siri AI

It’s hard to summarize the changes because most are invisible to users. Still, this update adds several new APIs introduced in OS 27 to support integration with the new Siri AI features. These help Siri be aware of the content in Drafts, understand the on-screen state of the app, and enable some limited direct integrations, like creating and opening notes.

Other compatibility updates include support for resizable iPhone apps, making more content indexable by the system, and more.

We’ve also made many general quality control and performance improvements across all platforms. All without changing the base system requirements.

Chat Console

The Chat Console requires Drafts Pro and a device running OS 27 with Apple Intelligence supported and enabled.

The console is a chat-style interface to use large language models (LLMs) to interact with Drafts. It is not a full-fledged chat client, but think of it as a quick way to do one-off interactions with your content. The console provides access to limited but useful, private on-device models from Apple, as well as the new Private Cloud Compute, and advanced models from Anthropic (Claude) and OpenAI (ChatGPT), each extended with tools specific to working with Drafts.

With it, you can create and update drafts, modify text selections, query and summarize drafts…as well as run actions and shortcuts, get and set clipboard content, and more. Some examples of the types of ad hoc operations you can accomplish with the Chat Console that previously required complicated scripted actions:

  • “Rephrase the current text selection in a more formal tone.”
  • “Make a new draft with a list summarizing all my flagged drafts.”
  • “Get all my drafts tagged personal and run the action ‘Save to iCloud Drive’ on them”
  • “Create and open a new draft with a template for taking meeting notes.”

Although Apple’s on-device model is supported, be aware it is very limited. If you plan to use the model for more complex prompts, we highly recommend using the Cloud model, or connecting an API key to use Claude or ChatGPT models.

There are so many possibilities. With optional tool sets enabled to extend the models, Chat Console can also work with files, calendar events, reminders, and more. Learn more about the Chat Console and related features:

  • Chat Console: General article with example uses, details on the differences between available models, etc.
  • AI in Actions: Covers using AI, both local and through online providers, in actions.
  • TIP: Update a Widget Daily with AI & Shortcuts Automation: Tutorial on setting up a Home Screen widget that displays an AI generated summary of your daily calendar events and reminders, updated daily by a Shortcuts automation. Demonstrates scripting of new Chat Console features.

See other updates below for details on related scripting and automation features.

Dictation Updates

On OS 27, Drafts has a new, modern dictation interface. This interface exposes the latest dictation models from Apple, which have improved greatly in recent years, with advanced features such as:

  • Define custom dictionaries. Have those pesky industry-specific terms, proper names, etc., that you dictate often but never get recognized properly? Add them to a custom dictionary to improve recognition accuracy.
  • Select any locale/language.
  • Select from any attached microphone.
  • Configure options like emoji recognition and expletive masking.
  • Continue dictation in the background. On iOS, a Live Activity starts to remind you it’s running, but you can continue using other functions on your device while dictating.

If you have advanced dictation needs, you may still benefit from other apps that use the latest online models. Still, for many, the privacy, speed, and accuracy of Apple’s on-device speech recognition are more than enough.

Learn more about using dictation

Widget Updates

We’ve modernized and improved a number of things in the Drafts widgets. Most notably, on OS 27, we added a new, more flexible Grid widget that adapts better to an arbitrary number of items and supports adding links directly to specific drafts in the grid. Note that this new Grid widget does not replace the old one. The old one is still available and labelled “Grid (Legacy)” in Widget selection.

Learn more about Widgets

Automatic List Renumbering

The editor now supports automatically renumbering sequenced lists when lines are added or removed. If the syntax highlighting definition you are using (like the built-in Markdown syntaxes) defines sequence lists, like (1. ... Markdown lists), the line numbers will be automatically updated as the list changes. The numbering is indentation-aware and supports advanced list sequence options, like padded numbering, in syntaxes that use them.

If you don’t want this behavior, you can turn it off in Editor Settings.

Other Updates and Changes

  • All Platforms
    • New: “Requires Drafts Pro” option on actions. If enabled on an action, Drafts will provide a friendly prompt to users of the free version who run the action explaining the action requires Pro features. This is purely a manual choice for action authors, but saves having to add code to check for the pro version, or less graceful errors that might occur if those features are unavailable.
    • New: “Writing Tools” toggle in Editor Settings. If disabled, Apple’s AI writing assistance (including the “Write with Siri” floating thing on macOS 27) are disabled in the editor.
    • New: /chat?mode=[mode]&prompt=[initial prompt] URL scheme to open chat console. (Docs)
    • New: /speak?text=[text] URL scheme to pass in text to read aloud with speech feature.
    • New: “Open Chat Console” app intent for Shortcuts.
    • Change: Avoid white flicker when loading HTML previews in dark mode.
    • Fix: Improvements to the conversion of HTML to Markdown when pasting.
    • Fix: Re-architect how themes are applied, especially in embedded SwiftUI views, to better handle light-dark mode switching.
    • Change: De-duplicate URLs found in drafts for the navigation menu.
  • macOS
    • Fix: Lots of editor-related fixes, for both the legacy and modern editor modes. If you have seen a variety of issues with jumping text, scrolling, and garbled text, we’ve tried to address all of them we knew about. If you have remaining issues after this update, please get in touch with details so we can get any remaining issues squashed.
    • Change: Configure Window action steps now support toggling the bottom status bar on Mac.
    • Fix: If Plain Text is your default syntax, on cold start editor options were not being configured properly in the new draft.
  • Scripting
    • New: Chat Console related functions
      • ModelSession object exposes the same capabilities of the AI environment used in Chat Console to scripted actions. Docs
      • New methods on the Window object: Docs
        • isChatConsoleVisible: Bool
          • showChatConsole(_ initialMode: modelSessionMode?, _ initialPrompt: String?)
        • hideChatConsole()
    • New: SelectPrompt scripting. Allows creation of arbitrary, searchable, select dialogs that work kind of like the command palette, but you provide the options. Docs
    • New: Window script object additions:
    • isActionBarVisible, showActionBar, hideActionBar
    • (Mac only) isStatusBarVisible, showStatusBar, hideStatusBar
    • New: Global window variable defined to make it easier to reference methods on the current window. Interchangeable with the existing app.currentWindow syntax.
5 Likes

Great news and great documentation as always, thanks.

(one documentation issue: the OpenAI section in AI Chat Console | Drafts User Guide names the cons from the Antrophic section)

1 Like

Hello!

The new update looks good however is crashing on macOS27. Can’t even open Drafts.

I have two different macOS installations, one for work and one for personal use. On my personal installation is working, iCloud synchronisation is enabled.

The one that is crashing is my work installation, no iCloud sync is enabled (in case that helps). I tried uninstalling and reinstalling but still won’t open, it crashes on startup.

I could try completely uninstalling Drafts with something like Pear but I don’t want to lose my actions.

Any suggestions?

Just in case I was not clear, I’m using the latest version of Drafts and macOS 27 (not beta).

Not aware of any general issues. I’d start with a restart, and then try re-installing the app from the App Store. Possible some corruption just happened with the download. You can drag your current install from Applications to the trash and then re-download from the store. That will not effect your local data on Mac.

If those don’t help, open a support ticket (support@getdrafts.com) and include a crash log so I can help you troubleshoot further.

1 Like

I’ve got a problem with dictation in German on iOS[1]. When I launch Dictation by holding the plus button the new dictation interface appears, I chose German, and I can dictate. The result is, by the way, much, much better than before.

When I tap the microphone on the keyboard, no new interface, but dictation works too.

The problem occurs when I try to launch dictation from a script that has worked pre iOS 27. Then I get this error message:

This is the line of code causing the error:

theExcerpt = editor.dictate(theReferenceLanguage);

The variable theReferenceLanguage is a Template Tag. It was empty pre iOS 27 and used the OS language, German. After I got the error I changed it to de-DE, but the error message appeared again.

Edit: Another problem – the change of language is not saved in the new dictation interface, it falls back to English every time and therefore has to be changed manually every time when not using English. Changing it means only to open the dictation settings, where German is still active, and closing them again, but still.


  1. I can’t tell how dication on macOS behaves because I don’t have a microphone neither on my Mac nor the attached display. ↩︎

Not sure I follow exactly. What is the actual value of theReferenceLanguage variable when this error is being generated? Might be best if you shared your actual action (you can upload it as unlisted to the directory and share the link here)

Possible this is a change of behavior, but if you pass any parameter to editor.dictate, it should be a valid locale descriptor, or it should fail…so I assume you are not passing a valid value. If you want it to fallback to the system locale, don’t pass an argument - or if you do, it should be an undefined value.

It was empty, no value in the action step Define Template Tag. That caused the error. Then I put in de-DE as a value, but to no avail, same error message again.

The script is definitely not the problem. I have been using it for a long time. It has a menu where I can chose wether I want to insert the content of the Clipboard into the Editor, or scan content to the Editor, or dictate to the dication interface and insert the outcome into the Editor, or just open the Editor to write. All options except dictation works.

Could it be a language problem? The new iOS 27 dictation seems to be independent from Siri AI – which works neither in German nor in the EU – but maybe not fully?

And since the error message popped up every time I start Drafts on my iPhone the error message flashes for a brief moment.

Syncing between iPhone and Mac is broken too. I quitted and restarted Drafts on the Mac, but how could I do that on the iPhone?

I have to correct myself, at least partially.

Thanks to the very helpful hint in another topic I discovered that iCloud syncing in Drafts on my Mac somehow was disabled. And I had added de-DE as a value for theReferenceLanguage to the action in Drafts on my Mac because its big screen is so much easier to read.

But due to the inactive sync this change of the value never reached Drafts on my iPhone. Nothing changed, so naturally the error message kept returning.

Now I have both re-activated sync and added de-DE as a value in the action in Drafts on the iPhone and now dictation does not crash and correctly uses German as the dictation language! Which means: Only an empty value for the locale in editor.dictate causes the error message, at least, when the system language is German.

As for dictating directly to Drafts I will use the microphone icon on the keyboard for the time Drafts’ dictation interface is not remembering the language setting.

They just released a quick fix for this and is working now. Thank you team.

Should Siri AI be able to search and use content in Drafts? My phone and Mac finished indexing as far as I can tell and the closest I can get Siri to do is to open a search in Drafts - it can’t answer questions, summarize, or use the information. Not sure how much access Siri AI has to the content of my drafts.

Do you have specific examples of prompts you are using? Siri AI integration with third-party apps is pretty limit. Your drafts themselves should be searchable and appear in results, they are all indexed. I haven’t had a lot of luck with getting it to do advanced queries, just matching text content.

The chat console is your better bet to work with Drafts, because it has directly integration.

Thanks - I’ve tried a few things, including asking about content that I know is in Drafts (didn’t really work). If I refer to Drafts directly, it will sometimes open the app with a search pre-filled.

I realize most of this is on the OS side, so really just wanting to know what “should” work.

Yea, keep me posted. We’re all still learning about what does and doesn’t work with Siri AI. There may still be things I need to tweak.

Loving the new updates to the dictation feature features fantastic. One question has there been any consideration to adding a keyboard shortcut for pausing and resuming. This would make a massive difference for using this window between dictation and keyboard editing.

3 Likes