macOS 27 Golden Gate (Sep 2026, macOS27)

 

 

 

Contents

Why Did I [do it, upgrade, really]…?!

Seriously messed up some of our utility scripts, and yet after some week of use, not really seen any significant improveents.

  • Messed up scripts
  • Spotlight functionality has not (yet, visibly) improved:
    • Not front-end/user interface part at least
    • Background / database / indexing is something else, and to be seen how has possibly been improved.
  • By Apple highlighted changes are mostly irrelevant for me.

 

Some Areas, in bold that are highlighted by Apple Our notes
1 New Siri AI powered by Apple Intelligence with conversational context, a dedicated Siri app, and cross-device continuity ❓To be seen what actual  benefits…
2 Liquid Glass refinements: customizable transparency slider, improved readability, uniform toolbars ❗️Don’t really care.
3 Performance gains: faster app launches, Spotlight indexing, AirDrop, and network file browsing ✅ Such are of course always nice. Details to be seen though.
4 Safari updates: automatic tab grouping, “Notify Me” for page changes, AI-generated extensions ❓To be seen what actual  benefits… (Not a big user of Safari, in macOS)
5 Enhanced parental controls: Ask to Browse, category-based time limits, stronger content protections ❗️Don’t really care.
6 Systemwide Apple Intelligence tools: semantic Spotlight, smart writing tools, natural-language Shortcuts, intelligent Finder naming ❓To be seen what actual  benefits… See also our Spotlight section
7 Display support expanded up to 5K at 120Hz ❗️Don’t really care.
8 First macOS to drop Intel — Apple Silicon (M-series) only ❗️Don’t really care.
9 Security  changes, behind the scene changes – NOT highlighted by Apple ⚠️ Creating a mess with multiple scripts used daily breaking and requiring serious research for (start) fixing.

 

 

Security-Related Issues

SOME examples of important areas/sections:

Area macOS 26 macOS 27
Access, send keystrokes, “system events” In macOS 27, the Accessibility pane under Privacy & Security has been renamed to “Device Control and Data Access.”  Go to Apple menu > System Settings > Privacy & Security, then look for Device Control and Data Access in the list — that’s where the app-level accessibility/keystroke permissions now live. The content is the same as the old Accessibility pane, just a new name.

(In lower section of items in right side.)

Disk Access   Privacy & Security > Full Disk Access

(In upper section of items in right side.)

Keyboard-handler, Special Key Handler-Apple-Silicon.app   Privacy & Security > Input Monitoring

(In lower section of items in right side.)

 

 

General searches

 

“Run AppleScript”, ‘System Events got an error’.. send keystrokes

search.brave.com/search?q=The+action+%22Run+AppleScript%22+encountered+an+error%3A+%27System+Events+got+an+error%3A+Automator+Workflow+Runner+%28WorkflowServiceRunner%2C+Save+Web+Page+as+mhtml+J%29+is+not+allowed+to+send+keystrokes.

Q: The action “Run AppleScript” encountered an error: ‘System Events got an error: Automator Workflow Runner (WorkflowServiceRunner, Save Web Page as mhtml J) is not allowed to send keystrokes.

A(1)

This error occurs because macOS requires specific permissions for Automator and its underlying runners to control other applications via System Events. The most effective solution involves ensuring the correct applications are granted Accessibility access and, if necessary, re-registering the specific workflow runner.

1. Grant Accessibility Permissions
You must add the relevant applications to the Privacy & Security > Accessibility list in System Settings. Depending on your workflow configuration, this typically requires:

  • Automator

  • Script Editor

  • AppleScript Utility (located in /System/Library/CoreServices/)

  • The target application (the app receiving the keystrokes, such as Safari or Chrome)

2. Add the WorkflowServiceRunner Specifically
If the error persists, the specific WorkflowServiceRunner process may not be registered. You can manually add it:

  1. Copy this path: /System/Library/Frameworks/AppKit.framework/Versions/C/XPCServices/WorkflowServiceRunner.xpc/Contents/MacOS/WorkflowServiceRunner

  2. In System Settings > Privacy & Security > Accessibility, click the + button.

  3. Press Command-Shift-G in the file dialog, paste the path, and click Open.

3. Alternative Fixes

  • Toggle Permissions: Remove Automator from the Accessibility list, close System Settings, and re-add it to refresh the permission state.

  • Reset Warnings: Open Automator, go to the menu Automator > Reset Warnings, and run the workflow again.

  • Export as App: Export the workflow as a new Application file. Running this new app directly often triggers the necessary permission prompts that a Service or Quick Action might miss.

 

A (2) (AI)

To resolve the “System Events got an error: Automator is not allowed to send keystrokes” error in macOS (referred to as macOS 27 in the query), you must grant Accessibility permissions to the applications involved in the automation process.

Primary Solution: Grant Accessibility Permissions

  1. Open System Settings (or System Preferences on older versions).

  2. Navigate to Privacy & Security > Accessibility.

  3. Unlock the settings if necessary.

  4. Add the following applications to the list and ensure they are toggled ON:

    • Automator (or Automator Workflow Runner / WorkflowServiceRunner)

    • Script Editor

    • Shortcuts (if using Shortcuts to run the script)

    • AppleScript Utility (located in /System/Library/CoreServices/)

  5. Crucial Step: If you recently updated macOS or changed the script, you may need to remove the apps from the list and re-add them to refresh their permissions.

Alternative/Additional Fixes

  • Grant Permissions to the Target App: In some cases, the application receiving the keystrokes (e.g., Safari, Notes, Finder) must also be added to the Accessibility list, not just Automator.

  • Enable AEServer: If standard apps do not work, manually add the Apple Events Server to Accessibility by clicking + and pasting this path:
    /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/Support/AEServer

  • Check Automation Settings: Go to Privacy & Security > Automation and ensure System Events is enabled for the specific script or application running the code.

  • Rename Script: Scripts with spaces or hyphens in their filenames can sometimes fail to register permissions correctly. Rename the script to use underscores and re-add it to the Accessibility list.

  • Reset TCC Database: If permissions are stuck, open Terminal and run:

    tccutil reset AppleEvents
    tccutil reset SystemPolicyAllFiles

    Then restart your Mac and re-grant permissions. 

Can’t find Privacy & Security > Accessibility in macOS 27

Q: Can’t find Privacy & Security > Accessibility in macOS 27

A:

In macOS 27, the Accessibility pane under Privacy & Security has been renamed to “Device Control and Data Access.”

Go to Apple menu > System Settings > Privacy & Security, then look for Device Control and Data Access in the list — that’s where the app-level accessibility/keystroke permissions now live. The content is the same as the old Accessibility pane, just a new name.

 

ChatGPT 2026-09-25 Fri: On Sending Keystrokes

(Deeper into this as been struggling with getting it to work in scripts over the last couple of days.)

Q) How to fix- The action “Run AppleScript” encountered an error: “System Events got an error: Automator is not allowed to send keystrokes.”

(Private-access-only chatgpt.com/c/6ab66287-0a5c-83ea-b09e-30cae4b1adfc)

A:

ID: 20260925070100

Yes — this is almost certainly the macOS 27 Accessibility/TCC issue we were discussing, and the wording is somewhat misleading:

System Events got an error: Automator is not allowed to send keystrokes.

The important point is that the process that actually executes the Automator action may need Accessibility permission, not merely Automator.app. Apple confirms that Accessibility permission controls apps/scripts that control the Mac, while Automation permission separately governs one app controlling another. Apple Support

For macOS 27, try this first

Go to:

System Settings → Privacy & Security → Accessibility

Make sure Automator is enabled.

But because your earlier process inspection showed Automator workflows executing through:

/System/Library/Frameworks/Automator.framework/Versions/A/XPCServices/
com.apple.automator.runner.xpc/Contents/MacOS/com.apple.automator.runner

and also:

/System/Library/Frameworks/AppKit.framework/Versions/C/XPCServices/
WorkflowServiceRunner.xpc/Contents/MacOS/WorkflowServiceRunner

the permission problem can actually belong to the runner process rather than /Applications/Automator.app.

This distinction is especially relevant in macOS 27: Apple has explicitly changed the Accessibility security model in macOS 27, including removal of an older mechanism for granting Accessibility access. Apple Support

First determine whether this is the problem

Put this tiny test in Run AppleScript:

tell application "System Events"
	keystroke "x"
end tell

Run it inside Automator by clicking Run.

If that gives:

Automator is not allowed to send keystrokes

then Accessibility/TCC is definitely the issue.

Now run essentially the same thing from Script Editor:

tell application "System Events"
	keystroke "x"
end tell

If Script Editor works but Automator doesn’t, you’ve isolated the problem to Automator’s execution environment, not AppleScript or System Events.

Also check Automation

Go to:

System Settings → Privacy & Security → Automation → Automator

If System Events appears underneath Automator, enable it.

Apple treats this separately from Accessibility: Automation authorizes one application to control another; Accessibility authorizes UI scripting such as simulated keyboard input. Apple Support

So for code such as:

tell application "System Events"
	tell process "Mail"
		keystroke "p" using command down
	end tell
end tell

you can potentially need both.

One complication with Automator Services / Quick Actions

If this workflow is actually being invoked as a Quick Action/Service rather than by pressing Run in Automator, granting Automator permission may not be sufficient.

The execution chain can instead be approximately:

Finder / Mail / other host application
        ↓
WorkflowServiceRunner
        ↓
com.apple.automator.runner
        ↓
Run AppleScript
        ↓
System Events
        ↓
keystroke

That would explain why an old workflow that worked on macOS 26 suddenly produces this error under 27.

And Apple still documents Automator and Run AppleScript as supported in macOS 27, so this isn’t simply “Automator has been removed.” Apple Support

Given the troubleshooting we already did with your com.apple.automator.runner processes, I would not start by randomly resetting all TCC permissions. I’d identify exactly which execution context fails.

Do these two tests and tell me the result:

Test Result
Run keystroke "x" by clicking Run inside Automator works / fails
Run the same script from Script Editor works / fails

If the first fails and second works, I can give you the next macOS 27-specific procedure for getting the Automator runner authorized, rather than just repeatedly adding Automator to Accessibility.

Q) Both cases works (inside Automator and S.E.)

ID: 20260925070101

Excellent — that changes the diagnosis substantially.

If this works when you click Run in Automator:

tell application "System Events"
    keystroke "x"
end tell

and also works in Script Editor, then Automator itself already has the necessary Accessibility permission. We should not mess with Automator’s TCC permissions.

The important question becomes how the failing workflow is launched.

Apple distinguishes running a workflow inside Automator from running a Quick Action/Service from Finder, an application’s Services menu, or a keyboard shortcut. Apple Support And there are documented cases with exactly this pattern: the script works inside Automator but fails when invoked as a Service/Quick Action because it is then executed by WorkflowServiceRunner rather than the interactive Automator process. Apple Support Communities

I think this is now our prime suspect

Your earlier ps output showed:

/System/Library/Frameworks/AppKit.framework/Versions/C/XPCServices/
WorkflowServiceRunner.xpc/Contents/MacOS/WorkflowServiceRunner

/System/Library/Frameworks/Automator.framework/Versions/A/XPCServices/
com.apple.automator.runner.xpc/Contents/MacOS/com.apple.automator.runner

So let’s reproduce the problem in the actual execution context.

Create/save a temporary Quick Action containing only:

on run {input, parameters}

    tell application "System Events"
        keystroke "X"
    end tell

    return input
end run

Set at the top:

Workflow receives current: no input
in: any application

Save it as something obvious, e.g. Test Keystroke.

Then close Automator.

Open TextEdit, click into a document, and run:

TextEdit → Services → Test Keystroke

The result I’m expecting

If you now get something along the lines of:

System Events got an error: Automator Workflow Runner (WorkflowServiceRunner, Test Keystroke) is not allowed to send keystrokes.

then we’ve nailed it.

The distinction is:

Execution method Actual security context Result
Script Editor Script Editor ✅
Automator → Run Automator ✅
Services/Quick Action WorkflowServiceRunner / Automator runner likely ❌

This exact difference between an Automator workflow and the same workflow executed as a Service/Quick Action has been reported for years. Apple Support Communities

Don’t change any permissions yet. Run that one test from TextEdit → Services, because if it fails there, we know exactly which branch to pursue next.

Q) Yes, failed. The action “Run AppleScript” encountered an error: “System Events got an error: Automator Workflow Runner (WorkflowServiceRunner, AUT 2609-1.3 System Events (Quick Action)) is not allowed to send keystrokes.”

ID: 20260925070102

Yes — now we have isolated it. The problem is specifically the Quick Action execution context (WorkflowServiceRunner), not Automator, System Events, or your AppleScript.

Your error even identifies the offending process:

Automator Workflow Runner (WorkflowServiceRunner, AUT 2609-1.3 System Events (Quick Action)) is not allowed to send keystrokes.

This exact distinction is reported by others: running in Automator succeeds, while executing the same workflow as a Quick Action fails because it runs through WorkflowServiceRunner. Ask Different

Before we use a workaround, try the interesting macOS 26/27 fix

Because the Quick Action sends its keystroke into the currently active application, give that target application Accessibility permission.

For our TextEdit test:

System Settings → Privacy & Security → Accessibility

Add/enable:

TextEdit.app

Then quit TextEdit completely, reopen it, and run:

TextEdit → Services → AUT 2609-1.3 System Events

This sounds backwards—the error explicitly blames WorkflowServiceRunner—but there are recent reports where adding the target application fixed precisely this error. One report from March/April 2026 initially tried to authorize Automator Workflow Runner, then discovered that granting Accessibility to TextEdit solved it. Another report found the same solution on macOS 15.6. MacScripter

If that works…

Then we’ve discovered something rather important for your macOS 26 → 27 migration checklist:

Quick Actions using System Events UI scripting may require Accessibility permission for the application in which the Quick Action executes, even though the error identifies WorkflowServiceRunner.

That would also explain why your old Services/Quick Actions suddenly behave differently depending upon where they’re invoked.

If TextEdit still fails

Then I would not start adding random /System/Library/.../*.xpc executables to Accessibility.

There is a much cleaner workaround with a good track record: put the UI-scripting AppleScript in a small standalone .app, grant that app Accessibility permission, and have the Quick Action launch it. That changes the architecture to:

Quick Action
     │
     ▼
WorkflowServiceRunner
     │
     │ launch
     ▼
MyAppleScript.app   ← Accessibility permission
     │
     ▼
System Events
     │
     ▼
keystroke

That workaround is specifically documented for the com.automator.runner.xpc/WorkflowServiceRunner problem. Stack Overflow

But first, add TextEdit to Accessibility and repeat exactly our test. That result will tell us whether macOS 27 is effectively transferring this requirement to the Quick Action’s host application.

 

Q) TextEdit still fails. Btw, in case of macOS27, please stop referring to Accessibility under Privacy & Security as that isn’t true

A:

ID: 20260925070103

You’re correct. On macOS 27, I should not keep directing you to Privacy & Security → Accessibility. That reflects the older UI, and current Apple support pages are evidently not yet consistently updated for macOS 27. In fact, there are already macOS 27 reports noting that Accessibility is no longer present there and that the relevant controls have moved/changed.

More importantly, our test has now established this very cleanly:

Execution Result
Script Editor → System Events → keystroke ✅
Automator → Run → same code ✅
Quick Action → WorkflowServiceRunner → same code ❌
Adding TextEdit permission ❌

So stop changing TextEdit permissions. My previous suggestion was useful as a diagnostic, but it isn’t the solution in your macOS 27 case.

The error is specifically the Quick Action’s subprocess:

Automator Workflow Runner
(WorkflowServiceRunner, AUT 2609-1.3 System Events (Quick Action))

This is also consistent with the long-standing distinction between running a workflow directly and running it as a Service/Quick Action.

Next test — very important on macOS 27

You mentioned the new macOS 27 settings organization. Go to:

System Settings → Privacy & Security → Device Control and Data Access

and tell me exactly what entries you see there relating to Automator, especially anything resembling:

Automator
Automator Workflow Runner
WorkflowServiceRunner
System Events

and whether each is enabled.

That’s the avenue I want to investigate now, rather than applying pre-macOS-27 Accessibility instructions.

There is evidence that Apple has changed the privacy-permission architecture in 27: Apple’s current developer documentation specifically marks changes to the management of Accessibility permissions as macOS 27+, while older PPPC handling is now deprecated in macOS 27.

And we have an especially interesting independent macOS 27 report from September 18, 2026 describing Automator workflows breaking after upgrading to 27, with Accessibility gone from its former location and Device Control and Data Access now containing Automator.

So I think we’re looking at an actual macOS 27 permission-model/migration issue, not a defective AppleScript. Let’s work with the macOS 27 model from here forward.

Automator.app – in list AND ENABLED Automator Workflow Runner – NOT in list WorkflowServiceRunner – NOT in list System Events.app – in list AND ENABLED (I don’t remember exactly now but I think we messed around w Automator Workflow Runner and WorkflowServiceRunner earlier and if not mistaken have problems adding these properly. Where are those and how to properly add them to this list?)

ID: 20260925070104

Yes — and I think you’re remembering correctly. We previously found both processes, but adding them through the macOS 27 UI is the difficult part. Apple confirms Automator workflows execute actions in separate processes, so the fact that Automator itself is authorized does not necessarily authorize the runner.

The two executables on your system were:

/System/Library/Frameworks/AppKit.framework/Versions/C/XPCServices/WorkflowServiceRunner.xpc/Contents/MacOS/WorkflowServiceRunner

and:

/System/Library/Frameworks/Automator.framework/Versions/A/XPCServices/com.apple.automator.runner.xpc/Contents/MacOS/com.apple.automator.runner

The first one is especially interesting because your error explicitly identifies WorkflowServiceRunner.

Let’s try adding WorkflowServiceRunner correctly

In macOS 27’s Device Control and Data Access pane, click the + button to add an application.

The normal file picker won’t make navigating into /System/Library/… pleasant. Press:

⌘ ⇧ G

and paste:

/System/Library/Frameworks/AppKit.framework/Versions/C/XPCServices/WorkflowServiceRunner.xpc

Do not initially navigate all the way down to:

Contents/MacOS/WorkflowServiceRunner

Instead, try selecting the .xpc bundle itself:

WorkflowServiceRunner.xpc

That’s important because macOS privacy permissions are generally associated with a signed bundle identity, not simply an arbitrary executable path. macOS 27 has also substantially changed app/privacy management, including controls based on app and binary identity.

Then do the same for:

/System/Library/Frameworks/Automator.framework/Versions/A/XPCServices/com.apple.automator.runner.xpc

But I suspect what happened last time

I suspect macOS will either:

  1. refuse to select the .xpc,
  2. accept it but nothing appears in the list, or
  3. show something unexpected rather than WorkflowServiceRunner.

That would be valuable information rather than user error. WorkflowServiceRunner.xpc is an Apple system XPC service, not an ordinary .app, and the macOS 27 Device Control and Data Access UI may simply not permit users to register that kind of system component manually.

There are already current macOS 27 reports of Automator being authorized under Device Control and Data Access while workflows still fail, and administrators are reporting that the replacement for the previous Accessibility permission model behaves differently.

Let’s verify their identities too

Before doing anything more invasive, run:

codesign -dvvv \
"/System/Library/Frameworks/AppKit.framework/Versions/C/XPCServices/WorkflowServiceRunner.xpc" \
2>&1 | grep -E 'Identifier|TeamIdentifier|Authority'

 

and:

codesign -dvvv \
"/System/Library/Frameworks/Automator.framework/Versions/A/XPCServices/com.apple.automator.runner.xpc" \
2>&1 | grep -E 'Identifier|TeamIdentifier|Authority'

 

Also:

mdls -name kMDItemCFBundleIdentifier \
"/System/Library/Frameworks/AppKit.framework/Versions/C/XPCServices/WorkflowServiceRunner.xpc"

 

and:

mdls -name kMDItemCFBundleIdentifier \
"/System/Library/Frameworks/Automator.framework/Versions/A/XPCServices/com.apple.automator.runner.xpc"

 

Try adding the two .xpc bundles first and tell me exactly what happens. If macOS 27 refuses them or they disappear from the list, don’t keep fighting the GUI. At that point I think we should inspect how macOS 27 is identifying WorkflowServiceRunner and whether this is now an Apple/macOS 27 defect or limitation requiring us to move the UI-scripting portion into a separately authorized application.

when go to each folder, items are all greyed but still seems selectable, do that and select Open. BUT – neither items is actually showing up in list, as your suspcision.

ID: 20260925070105

Exactly. That result is significant: the + interface is not actually registering either XPC service, despite letting you navigate to and apparently select them. So I would stop trying to add those two manually.

More importantly, I found something that makes me think we’re dealing with a macOS 27 problem in Apple’s new permission architecture, rather than simply missing the correct checkbox.

Apple explicitly says Automator workflows execute actions in a separate process. That matches our experiment perfectly:

Automator.app
↓
Run workflow directly
↓
keystroke works ✅
Quick Action
↓
WorkflowServiceRunner
↓
Run AppleScript
↓
System Events → keystroke
↓
DENIED ❌

And macOS 27 changed this permission mechanism. Apple’s documentation says the old Accessibility PPPC grant mechanism is removed in macOS 27 and replaced by the newer app-settings privacy mechanism.

There’s an even more interesting macOS 27 clue

A very recent Apple Developer Forums report describes a macOS 27 problem where an application is successfully authorized for Accessibility, but sending events is nevertheless denied separately as kTCCServicePostEvent. The reporter sees essentially:

kTCCServiceAccessibility → Allowed

but

kTCCServicePostEvent → Denied

An Apple frameworks engineer responded that the behavior being reported sounded like a bug.

That is remarkably close to what we’re seeing because keystroke is exactly the sort of operation that generates synthetic input events.

So our evidence now points toward:

Component/test Result
Automator listed in Device Control and Data Access ✅ Enabled
System Events listed ✅ Enabled
Script Editor → keystroke ✅
Automator → Run → keystroke ✅
Quick Action → keystroke ❌
Error identifies WorkflowServiceRunner ✅
Add WorkflowServiceRunner.xpc manually ❌ silently ignored
Add com.apple.automator.runner.xpc manually ❌ silently ignored

That’s a pretty compelling diagnosis.

One thing I want to inspect before choosing the workaround

Rather than changing more settings, let’s see what TCC itself says while the failure occurs.

Open Terminal and run:

log stream --style compact \
  --predicate 'subsystem == "com.apple.TCC"' \
  --info

 

Leave that running.

Then execute your AUT 2609-1.3 System Events Quick Action once so that it produces the error.

Stop the log with Control-C and look especially for lines containing:

WorkflowServiceRunner
PostEvent
Accessibility
kTCCServicePostEvent
kTCCServiceAccessibility
deny
Denied

If that’s too much output, use this instead:

log stream --style compact \
  --predicate 'subsystem == "com.apple.TCC"' \
  --info | grep -Ei 'WorkflowServiceRunner|automator|PostEvent|Accessibility|deny'

 

I would very much like to see that output.

If it shows something such as:

service=kTCCServicePostEvent
client=...WorkflowServiceRunner...
...
Denied

then I think we’ve found the actual macOS 27 mechanism behind your failure—not merely that “WorkflowServiceRunner needs to be added to the list.”

At that point I’d favor one of two paths: either repair/reset the specific TCC authorization if macOS 27 exposes a viable route, or move the few System Events/keystroke portions of your Quick Actions into a small standalone signed .app that macOS 27 can authorize normally. Apple documents tccutil reset as the supported mechanism for resetting protected-resource authorization, so we have that available once we know which service and client we’re actually dealing with.

Don’t run tccutil reset All. Let’s capture the failed TCC decision first.

A> Output from log

ID: 20260925070106

I don’t see the actual log output attached or pasted yet.

Please paste the Terminal output here (even if it’s long), or attach it as a .txt file. I’m particularly looking for entries containing:

WorkflowServiceRunner, kTCCServicePostEvent, kTCCServiceAccessibility, Automator, deny/Denied, or AUTHREQ.

Once I have it, I can identify which process/service macOS 27 is actually denying and we can target that rather than experimenting with permissions.

A> Pasted text(7).txtDocument

ID: 20260925070107

This log is extremely useful — and it changes the diagnosis. The failure is not that macOS 27 is simply denying Accessibility/PostEvent permission to WorkflowServiceRunner.

The key sequence is this:

responsible = com.apple.automator.xpc.workflowServiceRunner
requesting = com.apple.automator.xpc.runner

So macOS correctly identifies exactly the two components we’ve been discussing.

Then TCC says:

AUTHREQ_SUBJECT:
subject=com.apple.automator.xpc.workflowServiceRunner

and immediately afterwards:

Failed to create LSApplicationRecord for
.../WorkflowServiceRunner.xpc/
OSStatus error -10811

That is very interesting because it explains what you just observed in the GUI: you select WorkflowServiceRunner.xpc, click Open, and it doesn’t appear. macOS can identify the signed bundle, but Launch Services cannot create the application record that the new macOS 27 permission machinery apparently wants.

But TCC nevertheless says ALLOWED

This is the most important discovery.

Immediately after that error, macOS checks the code signature successfully and says:

Evaluated composed authorization from
kTCCServicePostEvent
to parent service
kTCCServiceAccessibility:
Auth:Allowed (System Set)

followed by:

authValue=2
result=true

WindowServer independently checks it again, and gets the same result:

AUTHREQ_SUBJECT:
com.apple.automator.xpc.workflowServiceRunner

Failed to create LSApplicationRecord …
…
kTCCServicePostEvent … Accessibility:
Auth:Allowed (System Set)

authValue=2
result=true

So I would not run tccutil reset Accessibility now. The authorization itself is already returning Allowed.

Then we get what may be the actual macOS 27 bug

A few milliseconds later com.apple.automator.runner tries to launch the new disclosure/permission mechanism:

TCCAccessLaunchDisclosurePromptIfNeeded

and TCC fails:

bundleRecordForAuditToken failed for 58453:
Error ... Code=-10814
"Unable to find this application extension record
in the Launch Services database."

SK=/System/Library/Frameworks/Automator.framework/Versions/A/
XPCServices/com.apple.automator.runner.xpc

Apple defines -10814 as kLSApplicationNotFoundErr: no application in the Launch Services database matches the requested item.

That ties everything together rather nicely:

Quick Action
│
▼
WorkflowServiceRunner.xpc
│
├── TCC identifies it ✅
├── Apple signature validates ✅
├── PostEvent/Accessibility allowed ✅
│
├── LaunchServices app record ❌ -10811
│
▼
com.apple.automator.runner.xpc
│
├── tries disclosure prompt
│
└── LaunchServices extension record ❌ -10814
│
▼
"not allowed to send keystrokes"

And Apple’s own documentation confirms that Automator workflows run actions in a separate process, which is exactly the architecture visible here.

So where I think we are

This now looks much more like a macOS 27 Automator/LaunchServices/TCC integration bug than a permission you’ve forgotten to enable.

In particular, I no longer think that finding some clever way of manually adding:

WorkflowServiceRunner.xpc
com.apple.automator.runner.xpc

to Device Control and Data Access is the right objective.

The log tells us macOS already considers the relevant PostEvent → Accessibility authorization Allowed. The problem occurs when the new machinery tries to turn those XPC components into Launch Services application/extension records.

One final diagnostic I’d do before accepting the workaround

Let’s check whether Launch Services knows about these two bundles at all.

Run:

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister \
-dump | grep -i -B 5 -A 15 'com.apple.automator.xpc.workflowServiceRunner'

 

and:

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister \
-dump | grep -i -B 5 -A 15 'com.apple.automator.xpc.runner'

 

If both return nothing, that fits the log almost perfectly: macOS 27’s TCC system is trying to obtain Launch Services records for Automator’s system XPC runners, while Launch Services doesn’t have suitable records for them.

If that is what we find, I would not start force-registering system XPC bundles yet. Then we can decide between trying a relatively safe Launch Services repair/rebuild versus the much cleaner workaround of moving System Events UI operations into an ordinary .app that macOS 27 can actually represent in Device Control and Data Access.

BUT, now it actually seem to work as expected….. It’s like maybe those adding of xpc maybe actually WAS done but NOW showing up in the list among items in Device Control and Data Access. At least in the GUI in System Settings. Is there are CLI tool one can use to list corresponding info?

ID: 20260925070108

Aha — yes. macOS 27 actually gives us a new supported CLI for exactly this. Apple added a list command to tccutil in macOS 27. Apple specifically says it can report current privacy authorizations for specified services or apps; direct access to the local TCC database is also blocked in macOS 27.

First see the macOS-27 syntax on your machine:

tccutil --info

 

and:

tccutil list

 

I’m particularly interested in querying these two bundle IDs that your log definitively identified:

com.apple.automator.xpc.workflowServiceRunner
com.apple.automator.xpc.runner

Your log shows WorkflowServiceRunner being treated as the responsible process and com.apple.automator.runner as the requesting/accessing process.

And we know the relevant permission is PostEvent/Accessibility, because the log explicitly reports:

Evaluated composed authorization from
kTCCServicePostEvent
to parent service
kTCCServiceAccessibility:
Auth:Allowed (System Set)

Apple documents PostEvent as the permission allowing an application to send CoreGraphics events into the system event stream — exactly what simulated keystrokes need.

One very interesting possibility

Your theory that selecting those greyed-out XPC bundles actually did something even though they never appeared in the GUI is now quite plausible.

Remember this line from the log:

Auth:Allowed (System Set)

and:

authValue=2
result=true

If the Quick Action now works, we have two independent pieces of evidence that authorization is present:

TCC says Allowed + the actual keystroke succeeds.

So I wouldn’t touch/reset anything now.

Please run:

tccutil --info

 

and paste its output. macOS 27’s tccutil list is brand new enough that I want to use the exact syntax your installed 27 build reports, rather than guessing its arguments. Apple itself points to tccutil –info for the details of the new command.

This could give us a much better macOS 27 troubleshooting procedure than poking around System Settings manually.

Q) I wonder if you have old info, on my macOS 27: @MB2314 ~ % tccutil list tccutil: Usage: tccutil reset SERVICE [BUNDLE_ID]@MB2314 ~ % tccutil –info tccutil: Usage: tccutil reset SERVICE [BUNDLE_ID]@MB2314 ~ %

ID: 20260925070109

Yes — your Mac is right, and my previous statement was too broad. I checked the current Apple material more carefully.

Apple says macOS 27 introduces tccutil list, but crucially describes it as reporting privacy authorizations “on managed devices.” Your locally installed /usr/bin/tccutil clearly has only:

tccutil reset SERVICE [BUNDLE_ID]

Apple’s developer documentation also still documents tccutil as a reset mechanism.

So for your unmanaged Mac, we shouldn’t assume list exists.

Can we nevertheless inspect what’s enabled?

Historically one could query:

sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db ...

 

but macOS 27 specifically blocks apps from directly accessing the local TCC database, so that’s no longer a good route. Third-party TCC utilities that directly manipulate/read the database also warn about SIP/access restrictions, so I don’t recommend going down that road.

However, we already have a better read-only diagnostic: the TCC unified log itself. And yours gave us the answer.

For WorkflowServiceRunner it reported:

subject=com.apple.automator.xpc.workflowServiceRunner
...
Evaluated composed authorization from
kTCCServicePostEvent to parent service
kTCCServiceAccessibility:
Auth:Allowed (System Set)
...
authValue=2
result=true

That is much stronger evidence than whether an item happens to be visible in System Settings.

And your theory about adding the XPC now looks plausible

The chronology is interesting:

  1. Quick Action failed.
  2. We navigated to and selected WorkflowServiceRunner.xpc and com.apple.automator.runner.xpc.
  3. They didn’t appear in the GUI.
  4. Your subsequent TCC trace says WorkflowServiceRunner is Allowed (System Set).
  5. Now the Quick Action works.

That doesn’t prove that selecting those XPCs caused the change, because the log also contains Launch Services errors for them. But it makes your hypothesis quite plausible.

We can test the current state without changing anything

Rather than trying to read the database, I’d use:

log stream --style compact \
  --predicate 'subsystem == "com.apple.TCC"' \
  --info | grep -Ei \
  'workflowServiceRunner|automator\.xpc\.runner|PostEvent|Accessibility|AUTHREQ_RESULT'

 

Then execute the Quick Action once.

What we want to see again is:

subject=com.apple.automator.xpc.workflowServiceRunner

Evaluated composed authorization from
kTCCServicePostEvent to parent service
kTCCServiceAccessibility:
Auth:Allowed

AUTHREQ_RESULT … authValue=2

If the Quick Action works and we get authValue=2/result=true, I’d consider the authorization confirmed.

And importantly: don’t remove/re-add/reset anything now. We’ve gone from a reproducible failure to a working Quick Action, which makes this system particularly valuable for figuring out exactly what macOS 27 did.

 

ChatGPT 2026-09-23 Wed – problems with find command in macOS 27

(Something that worked like a charm in macOS 26, and prior. A mail handling family of scripts that was initially started in 2018,)

Q) find: Operaton not permitted

(Private-access-only chatgpt.com/c/6ab43c45-3630-83ea-bb2f-8120263b1713)

Q: applescript workflow, find <obscured path>/: Operation not permitted; used to work in macOS 26, now having problem in macOS 27

A:

ID: 20260923155300

Yes — that error is almost certainly macOS privacy/TCC protection, not a find problem. ~/Library/Mail is one of the specially protected locations.

On macOS 27, the important detail is which process actually executes find. In an AppleScript/Automator workflow, granting Terminal Full Disk Access may do nothing because Terminal isn’t the process touching the Mail directory.

For example, if your workflow contains:

do shell script "find " & quoted form of "<obscured path>/" & " -type f"

then macOS may attribute the access to an AppleScript/Automator runner rather than /usr/bin/find.

First, isolate the problem

Run this directly in Terminal:

find ~/<obscured path>/ -maxdepth 1 -print

There are two useful outcomes:

If Terminal also says Operation not permitted: give Terminal Full Disk Access in:

System Settings → Privacy & Security → Full Disk Access

Then completely quit Terminal and reopen it.

If Terminal works, but the AppleScript workflow fails: that’s the more interesting case, and probably what you’re encountering on macOS 27. The workflow’s execution host needs permission.

If this is an Automator workflow

Check System Settings → Privacy & Security → Full Disk Access for things such as:

  • Automator
  • the application from which you’re launching the workflow
  • an application you’ve created/exported from Automator

The awkward part is that Automator workflows can be executed by helper processes such as com.apple.AutomatorRunner, depending on how the workflow is invoked. This has historically made TCC permissions for Automator workflows rather messy.

One particularly useful test is to create a tiny AppleScript application:

do shell script "/usr/bin/find " & ¬
	quoted form of "<obscured path>" & ¬
	" -maxdepth 1 -print"

Save it from Script Editor as an Application, then add that application explicitly to:

Privacy & Security → Full Disk Access

Quit/relaunch it and test.

If that works while your Automator workflow doesn’t, we’ve established that macOS 27 has changed which execution context/TCC identity is being used, rather than there being anything wrong with find.

One other thing catches my eye

You’re explicitly addressing:

~/Library/Mail/V10/

macOS Mail’s internal storage version changes between OS releases. Before changing anything, run:

ls -ld ~/Library/Mail/V*

If macOS 27 has migrated Mail to another Vxx directory, we should modify your workflow so that it doesn’t hard-code V10 at all.

Since you say this exact workflow worked under macOS 26 and stopped under macOS 27, I’d troubleshoot it in this order:

# 1. Does Terminal have access?
find ~/<obscured path>/ -maxdepth 1 -print

# 2. What Mail versions actually exist?
ls -la ~/Library/Mail/

# 3. Check the particular directory
ls -ld ~/<obscured path>/

If #1 works in Terminal but the AppleScript gives Operation not permitted, send me the portion of your AppleScript/Automator workflow that calls find and tell me how the workflow is launched (Automator Quick Action, Folder Action, Mail rule, standalone app, etc.). That distinction is crucial here; we can then identify the macOS 27 process that actually needs the permission.

Q) Created tiny test app

Q: Created your tiny test app – works when run inside Automator BUT did get ‘Operation not permitted’ when first try run app as stand-alone. Then works after gave the app Full Disk Access rights. So, what can one now do for old workflows/services that has broken from macOS 26 to 27…?!

ID: 20260923155301

Exactly. Your test tells us something important:

The script is fine. find is fine. The problem is the TCC/Full Disk Access identity of the process running the workflow.

Apple explicitly says Full Disk Access is what permits access to data belonging to apps such as Mail, so ~/Library/Mail is expected to require this kind of authorization. Apple Support

The macOS 27 behavior makes old Automator Services/Quick Actions awkward because they aren’t necessarily executed under the identity of Automator.app. When you press Run inside Automator, Automator has the permission. When the saved Service executes independently, another execution context can be responsible.

What I’d do with your existing workflows

I would not convert every old Service into a standalone application. Instead, I’d try to establish one privileged helper application and have all Services that need protected filesystem access call that helper.

Your experiment has already demonstrated that this architecture works:

Old Service / Quick Action
        │
        ▼
small AppleScript/Automator helper.app
        │
        │ Full Disk Access ✓
        ▼
~/Library/Mail

Then you grant Full Disk Access once to that helper.

For example, create something like:

~/Applications/xxx Workflow Helper.app

and give that app Full Disk Access.

Your existing Automator Service could then invoke the helper rather than itself attempting to read ~/Library/Mail.

There is an important complication, though: merely doing something like

do shell script "/usr/bin/find ~/Library/Mail/..."

from the old Service won’t inherit the helper’s FDA. The protected operation must actually execute inside the FDA-authorized process.

Before redesigning anything, let’s identify the macOS 27 runner

This is actually the experiment I’d do next.

Take one of your existing broken Services and temporarily replace/add its shell command with:

ps -axo pid,ppid,user,comm,args > /tmp/automator-processes.txt

Run the Service normally — not from inside Automator — then in Terminal:

cat /tmp/automator-processes.txt | grep -Ei 'automator|workflow|runner'

Also:

ps aux | grep -Ei 'Automator|Workflow|Runner'

I’m particularly interested in whether macOS 27 is using something along the lines of:

Automator Runner
com.apple.AutomatorRunner
WorkflowServiceRunner

or another service process.

If we can identify the executable, there may be a much easier solution: give that runner Full Disk Access once, and potentially all your old Services start working again.

You can also inspect the process hierarchy from inside the Service

Put this temporarily into Run Shell Script:

{
    echo "ME:"
    ps -p $$ -o pid,ppid,comm,args

    echo
    echo "PARENT:"
    PPID2=$(ps -p $$ -o ppid= | tr -d ' ')
    ps -p "$PPID2" -o pid,ppid,comm,args

    echo
    echo "GRANDPARENT:"
    GPID=$(ps -p "$PPID2" -o ppid= | tr -d ' ')
    ps -p "$GPID" -o pid,ppid,comm,args
} > /tmp/automator-parent.txt

Then:

cat /tmp/automator-parent.txt

That should tell us who macOS 27 considers the execution host.

Apple still documents Automator and specifically documents Run Shell Script/Run AppleScript in Automator for macOS 27, so this isn’t simply Automator having been removed or officially made incompatible. Apple Support

And Apple still describes Services/Quick Actions as being run from Finder and the Services menu. Apple Support

So I wouldn’t start rebuilding your automation collection yet.

I’d first identify the macOS 27 Service runner and see whether we can FDA-whitelist it globally. Given that you have quite a few existing Automator/AppleScript workflows, that’s potentially a one-time fix rather than modifying every workflow.

Run the automator-parent.txt test from one of the broken Services and paste the result here. That’s probably our shortest path to figuring out what changed in 27.

<not shown here, many lines of terminal outputs>

ID: 20260923155400

Excellent — that pretty much nails down the execution chain.

Your Service is being hosted by:

WorkflowServiceRunner
    ↓
com.apple.automator.runner
    ↓
sh
    ↓
find
    ↓
~/Library/Mail/...

And PID 46783 confirms the important part:

46774  com.apple.automator.runner
  │
  └── 46783  sh -c ...

So com.apple.automator.runner is the process actually spawning your shell script. This also explains why giving Automator.app Full Disk Access doesn’t solve Services run outside Automator.

First thing I’d try

Add this executable to System Settings → Privacy & Security → Full Disk Access:

/System/Library/Frameworks/Automator.framework/Versions/A/XPCServices/com.apple.automator.runner.xpc/Contents/MacOS/com.apple.automator.runner

The problem is that the Full Disk Access GUI normally wants you to select an application bundle rather than an executable buried inside an XPC bundle.

Try adding the XPC bundle itself:

/System/Library/Frameworks/Automator.framework/Versions/A/XPCServices/com.apple.automator.runner.xpc

In Finder you can reach it with Go → Go to Folder… and paste:

/System/Library/Frameworks/Automator.framework/Versions/A/XPCServices/

Then try dragging:

com.apple.automator.runner.xpc

into the Full Disk Access list.

Afterwards, I’d kill all existing instances:

killall com.apple.automator.runner
killall WorkflowServiceRunner

They’ll automatically be recreated when needed.

Then run your old Service again.

There’s another candidate

Your process listing also shows:

/System/Library/Frameworks/AppKit.framework/Versions/C/XPCServices/WorkflowServiceRunner.xpc/Contents/MacOS/WorkflowServiceRunner

That’s likely the outer host for macOS Services.

So if granting FDA to com.apple.automator.runner.xpc alone doesn’t work, I’d also try:

/System/Library/Frameworks/AppKit.framework/Versions/C/XPCServices/WorkflowServiceRunner.xpc

The distinction matters because Apple’s TCC system can make authorization decisions based on the responsible process, not simply the Unix process that ultimately performs the filesystem operation.

We can determine which one TCC is actually rejecting

Rather than guessing, macOS’s privacy log should tell us.

Open a Terminal and run:

log stream --style compact \
  --predicate 'subsystem == "com.apple.TCC"' \
  --info

Then trigger one of your broken Services.

We’re looking for a line containing things such as:

kTCCServiceSystemPolicyAllFiles

or:

SystemPolicyAllFiles

and, particularly, identifiers resembling:

com.apple.automator.runner

or:

WorkflowServiceRunner

You can make the output less noisy with:

log stream --style compact \
  --predicate 'subsystem == "com.apple.TCC" AND (eventMessage CONTAINS[c] "automator" OR eventMessage CONTAINS[c] "WorkflowService")'

Trigger the failing Service while that is running.

Why I think this is worth pursuing

Your experiment gives us a very clean A/B comparison:

Run inside Automator
        ↓
Automator.app
        ↓
Mail access ✓

Run as Service
        ↓
WorkflowServiceRunner
        ↓
com.apple.automator.runner
        ↓
Mail access ✗

Standalone .app
        ↓
Mail access ✗

Standalone .app + FDA
        ↓
Mail access ✓

That’s strong evidence that macOS 27 changed/enforced the TCC boundary for these workflows.

And if TCC lets us authorize either WorkflowServiceRunner or com.apple.automator.runner, that’s by far the best outcome for you: one Full Disk Access authorization could potentially restore your whole collection of old Automator Services without touching their code.

I’d try adding com.apple.automator.runner.xpc first. If macOS 27 refuses to let you add it, or adding it doesn’t solve the problem, run the TCC log stream test and paste the few lines generated when you invoke the Service. That should tell us exactly which executable/signing identity macOS 27 is denying.

Pasted text(6).txtDocument

ID: 20260924040700

Yes — this log gives us the answer, and it also corrects one part of my previous suggestion.

The critical lines are these:

responsible={
  identifier=com.apple.automator.xpc.workflowServiceRunner
  ...
  responsible_path=.../WorkflowServiceRunner
}

requesting={
  identifier=com.apple.automator.xpc.runner
  ...
}

and then, decisively:

AUTHREQ_SUBJECT:
subject=com.apple.automator.xpc.workflowServiceRunner

Pasted text

So TCC is treating WorkflowServiceRunner, not com.apple.automator.runner, as the security identity responsible for your Service.

The macOS 27 problem is even clearer

TCC then tries to resolve that identity:

Failed to create LSApplicationRecord for
.../WorkflowServiceRunner.xpc/

OSStatus error -10811

Pasted text

And separately it can’t properly resolve the inner Automator runner either:

Unable to find this application extension record
in the Launch Services database.

Pasted text

That is quite interesting. This looks less like your old workflows being incompatible and more like macOS 27’s TCC/LaunchServices handling of Automator Services has changed or is broken.

Most importantly, Mail itself tells TCC exactly which executable it considers responsible:

kTCCCodeIdentityExecutableURL =
".../WorkflowServiceRunner.xpc/Contents/MacOS/WorkflowServiceRunner"

kTCCCodeIdentityIdentifier =
"com.apple.automator.xpc.workflowServiceRunner"

Pasted text

Therefore, try FDA on WorkflowServiceRunner

Forget com.apple.automator.runner for the moment. The thing we want to authorize is:

/System/Library/Frameworks/AppKit.framework/Versions/C/XPCServices/WorkflowServiceRunner.xpc

Try dragging that XPC bundle into:

System Settings → Privacy & Security → Full Disk Access

Use Finder → Go → Go to Folder…:

/System/Library/Frameworks/AppKit.framework/Versions/C/XPCServices/

and find:

WorkflowServiceRunner.xpc

Try dragging it directly onto the FDA list.

If System Settings accepts it, enable it.

Then kill the existing runners:

killall WorkflowServiceRunner 2>/dev/null
killall com.apple.automator.runner 2>/dev/null

and invoke your old Service again.

But I suspect macOS may refuse it

The significant clue is:

Failed to create LSApplicationRecord

That suggests macOS 27 doesn’t regard this XPC bundle as an ordinary application that System Settings can manage through the normal FDA UI.

If dragging the .xpc into Full Disk Access doesn’t work, don’t spend time trying random executables. We have enough evidence now to investigate the macOS 27-specific TCC situation directly.

In particular, I would next determine whether there’s a supported way to give

com.apple.automator.xpc.workflowServiceRunner

SystemPolicyAllFiles authorization, or whether this is a macOS 27 Automator regression.

Your log is unusually good evidence because it establishes the whole chain:

Automator Service
       ↓
WorkflowServiceRunner
com.apple.automator.xpc.workflowServiceRunner
       ↓
        TCC
       ↓
RESPONSIBLE / SUBJECT
       ↓
com.apple.automator.xpc.runner
       ↓
shell/find
       ↓
~/Library/Mail
       ✗

And that’s why Run in Automator works while Run as Service doesn’t.

Try dragging WorkflowServiceRunner.xpc into Full Disk Access. Tell me exactly what happens — accepted and appears in the list / rejected / nothing happens / appears but still doesn’t work. The next step differs substantially depending on which of those happens.

ChatGPT 2026-09-25 Fri – … seems to be serious differences between macOS 26 and 27 in terms of running workflows/services …

(ChatGPT 2026-09-25 Friday. Private-access-only chatgpt.com/c/6ab66089-a2b0-83e9-b795-d7880488f76e)

Q: there seems to be serious differences between macOS 26 and 27 in terms of running workflows/services, and applications and Privacy & Security, Accessibility, can you sort this out in a table format.

A:

ID: 20260925065400

Yes. There are meaningful changes between macOS Tahoe 26 and macOS Golden Gate 27, and they are particularly visible with older Automator Services/Quick Actions that contain AppleScript and especially scripts that use System Events / UI scripting. Apple still supports Automator in macOS 27, but macOS 27 tightens the privacy/security model around the actual process executing the automation. Apple explicitly documents a change to how Accessibility permissions are managed in macOS 27.

The key concept is that there are several different security permissions involved, and Accessibility ≠ Automation ≠ Full Disk Access.

macOS 26 vs 27 — Automator/Services security model

Area macOS 26 Tahoe macOS 27 Golden Gate Practical consequence
Automator itself Supported Still supported Automator has not been removed.
Automator Quick Actions / Services Supported Still supported Existing .workflow Services should fundamentally continue to work.
Run AppleScript action Supported Supported AppleScript itself isn’t the fundamental problem.
Run Shell Script action Supported Supported Shell commands still work; Apple explicitly documents this functionality.
UI scripting (System Events) Requires Accessibility Requires Accessibility, with stricter permission handling This is one of the biggest areas where old workflows can break.
Accessibility permission TCC authorization attached to responsible app/process macOS 27 has a newer permission-management model Granting Automator permission may not necessarily authorize the process that ultimately executes a Service.
Automation permission Controls Apple Events from app → app Same basic concept, but authorization/state handling is tighter tell application “Mail” and tell application “System Events” can involve different TCC decisions.
Full Disk Access Needed for specially protected filesystem locations macOS 27 appears to protect some additional access patterns Some programs that worked on 26 require FDA on 27; developers are reporting exactly this behavior.
App Management Separate privacy category Separate privacy category Relevant when one application modifies/updates another application.
Responsible process Important Increasingly important The visible app that launched the workflow may not be the process macOS considers responsible for the protected operation.
com.apple.automator.runner Used to execute Automator workflows Still involved This is highly relevant to the problem we’ve been investigating.
WorkflowServiceRunner.xpc Used for workflow/service execution Still involved Quick Actions can execute outside the Automator.app process itself.
Shortcuts Apple’s preferred newer automation system Increasingly preferred Apple continues to encourage conversion of Automator workflows to Shortcuts.
Old TCC configuration mechanism Supported/deprecated beginning 26.2 Removed in macOS 27 Concrete evidence that Apple changed Accessibility permission architecture in 27.

The last row is particularly significant. Apple says that starting with macOS 26.2 the old method for granting Accessibility access through com.apple.TCC.configuration-profile-policy was deprecated, and macOS 27 removes it in favor of the newer App Settings/Privacy mechanism.

The permissions are easier to understand as separate gates

Privacy & Security section What it actually authorizes Example from your Automator workflows
Accessibility Controlling the Mac UI tell application “System Events” to click menu item…
Automation One application sending Apple Events to another tell application “Mail” …
Full Disk Access Access to otherwise protected filesystem data Script reading protected Mail/application data
Files & Folders Access to particular protected user locations Documents/Desktop/etc.
App Management Updating/deleting/managing other apps Usually irrelevant to your normal Services
Developer Tools Running software outside normal security policy Generally irrelevant to ordinary Automator workflows

Apple’s current Privacy & Security documentation makes the distinction explicit: Accessibility permits apps to use scripts/system commands to control the Mac, whereas Automation controls whether apps can access and control other applications.

That distinction explains a lot of apparently contradictory behavior.


More importantly: who needs Accessibility?

This is where your recent troubleshooting becomes interesting.

Suppose you have:

Finder → Services → My Service → Run AppleScript → System Events → Mail

Conceptually:

Finder
  │
  │ invokes Service
  ▼
Automator infrastructure
  │
  ├── WorkflowServiceRunner.xpc
  │
  └── com.apple.automator.runner.xpc
          │
          ▼
       AppleScript
          │
          ▼
     System Events
          │
          ▼
         Mail

There can therefore be multiple TCC relationships.

Operation Permission potentially involved
Finder launches Service normally none
workflow runner executes script workflow execution/security context
script tells Mail something Automation → Mail
script tells System Events something Automation → System Events
System Events clicks/types/manipulates UI Accessibility
script reads protected files Files & Folders / Full Disk Access

This is why simply adding:

Automator → Accessibility

can be insufficient.

When you press Run inside Automator, the responsible process may effectively be associated with Automator.

But when you invoke the same workflow as a Service/Quick Action, it can run through Apple’s workflow execution infrastructure instead.

That fits very well with the processes you found in our previous troubleshooting:

WorkflowServiceRunner.xpc
com.apple.automator.runner.xpc

In other words, the useful mental model is:

How workflow is started Likely execution context
Run button in Automator Automator
Automator Application generated workflow application / Automator infrastructure
Finder Quick Action Workflow service infrastructure
Services menu from Mail Workflow service infrastructure
Keyboard shortcut assigned to Service Workflow service infrastructure
Folder Action background workflow infrastructure
Shortcut importing Automator workflow Shortcuts + workflow infrastructure

And macOS 27 appears substantially less forgiving about assuming that authorization granted to the parent application covers every helper executing on its behalf.

Apple describes this security concept as “responsible code” in its developer discussions around TCC/MAC permissions.


Why macOS 26 workflows can therefore work while macOS 27 ones fail

A useful simplified comparison is:

Scenario macOS 26 macOS 27
Automator has Accessibility Often sufficient May not be sufficient
Service calls System Events Usually works once authorized More sensitive to execution identity
Workflow helper performs UI scripting Often inherits/works under existing authorization Can expose authorization mismatch
Existing upgraded TCC database Often continues working Can produce confusing legacy authorization state
Fresh OS installation Permissions requested normally Often behaves differently from an upgraded installation
Reset TCC Frequently fixes permission problems More relevant when diagnosing helper/process identity
Manually adding an app to Accessibility Straightforward Still possible for normal apps, but doesn’t automatically solve helper-process authorization

Apple still tells users to authorize normal Accessibility clients through:

System Settings → Privacy & Security → Accessibility

and apps can be added manually with +.

But the catch is that Apple’s internal XPC helpers aren’t ordinary .app bundles that conveniently appear in the picker.


Another important distinction: Apple Events vs Accessibility

Consider this:

tell application "Mail"
get subject of message 1 of inbox
end tell

That’s primarily an Automation / Apple Events issue.

Compare:

tell application "System Events"
tell process "Mail"
click menu item "Print…" of menu "File" of menu bar 1
end tell
end tell

Now you’re doing UI scripting.

That requires Accessibility.

And something like:

tell application "System Events"
keystroke "p" using command down
end tell

also crosses the Accessibility boundary.

So your Mail → PDF workflow is exactly the kind of workflow likely to expose the difference between 26 and 27: it isn’t merely using AppleScript to talk to Mail; it uses GUI automation and therefore depends on Accessibility authorization of the execution context.


tccutil becomes very useful here

Apple officially documents resetting these separately:

tccutil reset Accessibility
tccutil reset AppleEvents

 

and distinguishes both as independent TCC services.

That gives us a much cleaner troubleshooting model:

           macOS TCC
│
┌──────────────┼──────────────┐
│              │              │
Accessibility     AppleEvents    File access
│              │              │
UI scripting     Automation       FDA
│              │
System Events     Mail/Finder/etc

A workflow can therefore have:

AppleEvents ✅
Accessibility ❌

and still execute quite a lot of AppleScript before suddenly failing when it reaches the GUI operation.

That often makes the failure look like an AppleScript/Automator bug when it’s actually a TCC authorization failure.


The macOS 27 change I think matters most for your setup

Given the experiments we’ve already done with your Automator processes, I’d now separate the problem into three identities:

Identity Example Needs investigation
Authoring application /System/Applications/Automator.app Yes
Workflow execution service WorkflowServiceRunner.xpc Yes — especially
Automator runner com.apple.automator.runner.xpc Yes — especially

Your ps output showing multiple instances of:

/System/Library/Frameworks/Automator.framework/Versions/A/XPCServices/
com.apple.automator.runner.xpc/Contents/MacOS/com.apple.automator.runner

and:

/System/Library/Frameworks/AppKit.framework/Versions/C/XPCServices/
WorkflowServiceRunner.xpc/Contents/MacOS/WorkflowServiceRunner

is therefore not incidental.

It is probably central to understanding why the same Service behaves differently under macOS 27.

Bottom line

The change isn’t:

macOS 27 no longer supports Automator Services.

Apple explicitly still documents Automator and Services/Quick Actions for macOS 27.

It’s closer to:

macOS 27 still supports them, but the security boundary around the process actually executing an Automator/Service workflow is stricter and more explicit.

That disproportionately affects exactly the sort of workflows you have: Automator Quick Actions → Run AppleScript → System Events → GUI scripting of Mail/Finder/other applications.

And Apple has independently made concrete architectural changes to Accessibility permission management in macOS 27, while macOS 27’s initial security release also includes fixes specifically concerning Accessibility, Automator, CoreServices/privacy authorization, and sandbox authorization.

The next useful step for our existing Mail/Automator problem is therefore not more random permission toggling. We should map exactly which executable macOS 27 regards as the responsible process when your Service reaches the System Events command, and then inspect/reset the corresponding TCC entries. That should let us build a very concrete 26 → 27 migration checklist for old Automator Services, including which permissions need to be re-established and for which process.

Q) generic checklist for 26-27 migration

Q: Holy, moly – that was a lot… Can’t you create a generic checklist for 26-27 migration?

A:

ID: 20260925065500

Absolutely — the previous answer was far too deep for what you were asking. Here’s the generic macOS 26 → 27 migration checklist, focused on applications, Automator/Services/Quick Actions, and permissions.

macOS 26 → 27 migration checklist

# Check What to do in macOS 27 Especially important for
1 Applications launch Open each important app once manually All apps
2 App updates Install macOS 27-compatible versions Older utilities, system tools
3 Privacy & Security Review System Settings → Privacy & Security Everything below
4 Accessibility Verify apps that control keyboard, mouse, windows or UI Automator, Hammerspoon, Keyboard tools
5 Automation Check which apps are allowed to control other apps AppleScript, Automator
6 Full Disk Access Re-check utilities/scripts requiring broad filesystem access Backup, search, scripting tools
7 Files & Folders Verify Desktop/Documents/etc. permissions Scripts and utilities
8 App Management Check applications that modify/manage other applications Updaters, system utilities
9 Input Monitoring Re-authorize keyboard/input utilities if required Keyboard remappers, hotkey tools
10 Screen & System Audio Recording Re-authorize screen-capture/control applications Screen utilities, remote-control software
11 Automator workflows Open Automator and test important .workflow files Automator
12 Quick Actions / Services Test them from Finder/app, not just inside Automator Very important
13 AppleScript Test scripts that tell application … Mail, Finder, System Events
14 UI scripting Specifically test scripts using System Events High-risk area in 27
15 Keyboard shortcuts Verify Service/Quick Action shortcuts Existing workflows
16 Login Items & Extensions Check System Settings → General → Login Items & Extensions Background utilities
17 Finder extensions Verify enabled extensions Dropbox, cloud/storage tools
18 File Provider Verify cloud providers and downloaded/offline files Dropbox, iCloud, OneDrive etc.
19 Shell scripts Test scripts from Terminal and from their real launcher Automator, Services
20 Command-line permissions Remember Terminal working doesn’t prove Automator will Scripts accessing protected resources
21 Folder Actions Trigger an actual Folder Action Automated filing workflows
22 Security prompts Don’t dismiss new permission prompts automatically All automation
23 Failed permissions Remove/re-add permission or reset relevant TCC permission Troubleshooting
24 Old automation Consider Shortcuts only when an old workflow actually causes trouble Long-term migration

The five things I’d test first

For a Mac with substantial automation like yours, I’d prioritize:

① Accessibility → ② Automation → ③ Full Disk Access → ④ Services/Quick Actions → ⑤ System Events scripts

And use this simple rule:

Test automation from the place where you normally invoke it.

A workflow succeeding with Run ▶︎ in Automator does not prove that the same workflow will succeed when invoked as Finder → Quick Actions, Services, a keyboard shortcut, or a Folder Action.

For your collection of existing workflows, I’d therefore not rebuild or convert anything preemptively. Upgrade, check those five areas, test the workflows, and investigate only the ones that fail.

Changes Highlighted by Apple = Marketing Mumbo-Jumbo

(ChatGPT 2026-09-29 Tuesday. Private-access-only chatgpt.com/c/6ab66089-a2b0-83e9-b795-d7880488f76e)

Q: Can you summarize changes as discussed on https://www.apple.com/os/macos/ on a bullet list format

A:

ID: 20260929062900

Yes. Based specifically on Apple’s current macOS 27 Golden Gate overview, the main changes Apple highlights are: Apple

  • Siri AI
    • Major new Siri implementation powered by Apple Intelligence.
    • More natural conversational interaction.
    • Can use personal context to find things such as emails, photos, and notes.
    • Can perform actions within apps such as Messages, Music, Reminders, Mail, Photos, etc.
    • Can use online information for broader questions/research.
    • New dedicated Siri app, with conversations synchronized across devices.
    • Siri can generate and edit text virtually anywhere you can type.
    • Siri voice can be customized for characteristics such as pace and expressivity.
    • Currently rolling out in English. Apple
  • Visual Intelligence comes to Mac
    • Can analyze things displayed on your screen.
    • Screenshot an image, document, PDF, etc. and ask Siri about it.
    • Can search, identify, explain, or take actions based on onscreen content. Apple
  • Apple Intelligence expanded throughout macOS
    • More AI capabilities integrated into Photos, Messages, Safari and other applications.
    • Image Playground gains higher-quality and photorealistic image generation.
    • Photos gains Spatial Reframing, image extension and enhanced object removal. Apple
  • Shortcuts gets AI-based creation
    • You can simply describe what you want a Shortcut to do.
    • macOS can construct a Shortcut connecting actions across applications.
    • This one is particularly interesting in the context of our Automator/Services discussion. Apple
  • Safari
    • Tabs can automatically be grouped by topic.
    • New Notify Me feature can watch webpages for changes, such as price changes or products coming back into stock. Apple
  • Passwords
    • Identifies weak or compromised passwords.
    • Can automatically update passwords on your behalf; Apple says this particular capability is coming in a future software update. Apple
  • Liquid Glass / interface changes
    • Liquid Glass has been refined from macOS 26.
    • Better readability and contrast.
    • More consistent refraction/transparency effects.
    • More uniform toolbars.
    • Edge-to-edge sidebars.
    • Updated window shapes and menu-bar icons.
    • New control to adjust Liquid Glass from very clear through more tinted appearances. Apple
  • Performance improvements
    • Faster AirDrop transfers.
    • Faster network file browsing.
    • Faster Safari Start Page loading.
    • Apple also broadly claims improvements to memory use, search, display rendering and CPU utilization. Apple
  • Mail
    • New search-ranking system intended to put the most relevant messages first.
    • Contextual Suggestions can offer actions based on email content.
    • Swipe down to refresh.
    • Siri AI can work with Mail content and writing. Apple
  • Spotlight
    • Improved search suggestions.
    • Spotlight can offer Ask Siri as a search result/action. Apple
  • Calendar
    • Natural-language creation and editing of events.
    • For example, describe an appointment rather than manually entering its fields.
    • Changing the description can automatically change the event details. Apple
  • Displays
    • Better ultrawide-display support.
    • Resolutions such as 5K at 120 Hz are supported on appropriate displays/hardware.
    • Display arrangements are better preserved when disconnecting/reconnecting displays. Apple
  • iCloud Shared Albums
    • Easier participation by Android and Windows users through iCloud.com.
    • Full-resolution sharing.
    • Improved filtering and reactions.
    • Additional invitation/sharing options. Apple
  • Messages and Mail Suggestions
    • Context-aware suggestions can turn conversations into actions—for example, creating a Calendar event or finding a photo. Apple
  • Calls
    • New Call Context can surface relevant information from other apps while you’re making a call—for example, finding an airline confirmation code in Mail. Apple
  • Maps
    • Improved Flyover imagery.
    • Uses aerial imagery plus Visual Intelligence models to provide substantially more detailed rendering. Apple
  • Accessibility
    • VoiceOver gets improved understanding of onscreen content and richer image descriptions.
    • Automatic synchronized captions can be generated for video.
    • Existing captions can be translated into other languages. Apple
  • Child safety / parental controls
    • New Ask to Browse permission system for websites.
    • Communication Safety expanded beyond nudity to gore/violent imagery.
    • New category-based Time Allowances.
    • Schedules can determine which apps are available at different times/days.
    • Redesigned parental controls in System Settings. Apple
  • General app behavior
    • Swipe-down-to-refresh added across apps including Safari, Mail, News, Podcasts and Calendar.
    • Podcasts gets an improved video-podcast experience with easier switching between watching and listening. Apple
  • Hardware compatibility is significantly narrower
    • MacBook Air: Apple silicon, 2020+
    • MacBook Pro: Apple silicon, 2020+
    • Mac mini: Apple silicon, 2020+
    • iMac: Apple silicon, 2021+
    • Mac Studio: 2022+
    • Mac Pro: Apple silicon, 2023
    • MacBook Neo: 2026
    • In other words, macOS 27 drops Intel Macs entirely. Apple

One thing worth noticing given our previous discussion: Apple’s consumer-facing macOS 27 page says essentially nothing about the Privacy & Security/TCC/Accessibility changes we’ve been encountering with Automator, WorkflowServiceRunner, com.apple.automator.runner, etc. Those are under-the-hood/developer/security changes rather than headline macOS features.

So I’d treat this list as “what Apple says is new in 27”, and separately maintain our “what changed underneath that can break existing macOS 26 workflows” list. Those are really two quite different lists.

 

EoP

d

 

d