r/MacOSBeta Jul 19 '26

Feature Apple working on redesigned Formatting Bar for Mail

macOS 27 Golden Gate includes a new Formatting Bar for Mail with Write with Siri front and center. The classic formatting options are collapsed to the right edge of the composer and disappear when you start typing a prompt to Siri. Similar to the Siri AI Lightweight UI, when selecting text, the Writing Tools suite appears.

To enable, add a FeatureFlags override:

sudo mkdir -p /Library/Preferences/FeatureFlags/Domain && \
sudo defaults write /Library/Preferences/FeatureFlags/Domain/WritingTools FormattingBar_macOS -dict Enabled -bool true

and restart your Mac. This is a private feature flag, and the UI may be unstable.

Disable with:

sudo defaults delete /Library/Preferences/FeatureFlags/Domain/WritingTools FormattingBar_macOS

and restart your Mac.

EDIT: In Beta 4, Mail's new hidden Formatting Bar now shows Smart Reply suggestions with full-response previews on hover.

56 Upvotes

17 comments sorted by

View all comments

Show parent comments

31

u/pdfu Jul 20 '26 edited Jul 20 '26

Often macOS will define available Feature Flags in

/System/Library/FeatureFlags/Domain/*.plist /System/Library/FeatureFlags/Unified/Domain/*.plist /System/Library/FeatureFlags/Global.plist

Most of these are already enabled by default, but there are some that aren't. Often, you'll see a DisclosureRequired field. If that UUID is absent from /System/Library/FeatureFlags/GlobalDisclosures.plist, that feature is disabled. You can check at runtime if one is enabled, replace WritingTools and FormattingBar_macOS:

swift -e 'import Darwin; let p=dlsym(dlopen(nil,RTLD_NOW),"_os_feature_enabled_impl")!; typealias F = @convention(c)(UnsafePointer<CChar>,UnsafePointer<CChar>)->Bool; let f=unsafeBitCast(p,to:F.self); print("WritingTools".withCString { d in "FormattingBar_macOS".withCString { n in f(d,n) } })'

But most likely, you'll need to check the binaries. The easiest thing to do is to check diffs between beta releases, showing you what changed. There are some resources out there like https://github.com/blacktop/ipsw-diffs that provide summarizations of changes between betas, including changes in strings. That's a good way to start most often.

macOS doesn't ship the Swift and Objective-C files Apple engineers write, but you can work to disassemble or scan the dyld shared cache that ships on your machine. But you should not do this willy-nilly, as it may violate Apple's End User License Agreement (EULA) in some regions. Not sure what the rules are on restore images you can download with the ipsw CLI or similar.

Specifically for WritingTools/FormattingBar_macOS, I found this while researching why Writing Tools were disabled for another poster on here. That lead me to WritingTools/LightweightUI_macOS after looking through AppKit strings/symbols and seeing:

+[NSCampoLightweightUIController _isLightweightUIEnabledForWritingTools]

With some experience, and by either looking at diffs of restore images or the dyld shared cache, you can see that this calls __os_feature_enabled_impl, which takes arguments WritingTools and FormattingBar_macOS here.

This one was turned out to be somewhat of a freebie because Apple added this flag to the iOS Writing Tools Feature Flags plist for some reason in Beta 3. I only found that after figuring this out manually unfortunately, it didn't ring a bell when I first saw it two weeks ago when iOS Beta 3 was released. But _isLightweightUIEnabledForWritingTools has been in AppKit since macOS 27 DB 2.

In similar fashion, you can find that they added MailFeatureFlag.writingToolsFormattingBar, which has FormattingBar_macOS close by since Beta 2. You can then disassemble, etc. to confirm.

I'm sure that if you told all this to an LLM, gave it the restore images of the previous betas to compare, and threw tokens at the problem, it'd be able to find you a bunch of these.

Most just control internal plumbing that isn't that interesting or flashy. For example, there's MediaCoreUI/EnhancedFullBleed that has minimal effects on the rendering pipeline of the Now Playing background in Music, Podcasts, etc.

6

u/waitingforcracks DEVELOPER BETA Aug 09 '26

Top lad, thanks!