AppleScript app Assistive access trouble

I have saved an apple script as an app and when I launch it I get the following error

System Events got an error: DualFinder is not allowed assistive access. (-1719)

I have given the app accessability permission in system settings but still recieve this error any ideas

It runs fine from the script editor but the final project needs to be a stay open app


tell application "System Events"
	tell application "Mission Control" to launch
	tell group 2 of group 1 of group 1 of process "Dock"
		click (every button whose value of attribute "AXDescription" is "add desktop")
		tell list 1
			set countSpaces to count of buttons
			delay 0.5
			click button (countSpaces)
		end tell
	end tell
end tell

DualFinder is the name of your script application as I understand. So,

  1. First, clean your script:

tell application "Mission Control" to launch

tell application "System Events" to tell group 2 of group 1 of group 1 of process "Dock"
	click (every button whose value of attribute "AXDescription" is "add desktop")
	delay 0.5
	click last button of list 1
end tell
  1. Save it as usual application (not stay-open)
  2. Launch it, give to it permission to control your computer. Go System Preferences–>Security&Privacy----> Accessibility. See: if the checkbox is checked (and application throws error) , then uncheck it and check again. If it is unchecked then simply check it.
  3. If this doesn’t help, then remove DualFinder.app from the list using MINUS button, then go step 3) again .

The probable reason for this is the ‘countSpaces’ variable, which, being a run handler variable (ie. used in the top level of the script), is saved back to the script file every time the script’s run. This changes the file’s modification date and the security system thinks it’s a new file.

KniazidisR’s suggestion gets rid of the variable.

I found the best way to avoid this error is to use + sign and add application that way first.
Then try run it. (I.e don’t try run it first. I.e. don’t drag and drop in there first.)

As a last resort fix: open system preferences. Remove the app with minus. Lock. Quit system preferences. Reopen system preferences. Add app with plus sign. Lock. Quit system preferences. Then try run app. Take your time with each of these steps…don’t rush it. Still not working. You can mix in a restart and some log out log ins…it will eventually work…sounds like madness I know…but it works.

Monterey 12.4.

There’s some info on the bugginess of this whole thing here: https://dougscripts.com/itunes/2021/12/system-events-error-and-the-fix/

But I’ve found my method at the top the most reliable…and now just do it that way to begin with.

I have the same issue and I followed all the steps above however I still get the same error. I’m currently working on a Mac Studio with Sonoma 14.4.1. Are there any other suggestions?

I have three miscellaneous suggestions, two of which you may already have tried.

First, give the AppleScript app both accessibility and full disk access permissions. Depending on what your app does, the full disk access permission may not be required.

Second, if your app uses System Events, give System Events both accessibility and full disk access permissions. Once again, the full disk access permission may not be required.

Third, as a last resort, create a new app with a different name and copy and paste the code from the old app. Edit the code in some insignificant way and then set permissions for the new app before running it. This has worked for me on a few occasions when all else failed.

Thank you for the suggestions. Unfortunately they did not resolve the issue.

rsstorey. I’m sorry to hear that. The suggestions contained in this thread covers about every solution I’ve come across.

I can’t imagine what it would be, but the only other thought that comes to mind is that something in your script is causing the issue. If you don’t mind, you could post the script and we could test it for privacy issues.

I posted it at the beginning of this thread but here it is again.

I did read one item that suggested some line of code within the script but it wasn’t elaborated on.
Also, There is a line in the script that that call "tell application “System Events”.

tell application “Mail” to activate
tell application “System Events”
tell application process “Mail”
– Erase Junk Mail
tell menu item “Erase Junk Mail” of menu “Mailbox” of menu bar item “Mailbox” of menu bar 1 to click
tell button “Erase” of sheet 1 of window 1 to click
– Erase Deleted Items
tell menu item “In All Accounts…” of menu “Erase Deleted Items” of menu item “Erase Deleted Items” of menu “Mailbox” of menu bar item “Mailbox” of menu bar 1 to click
tell button “Erase” of sheet 1 of window 1 to click
end tell
end tell

Rsstorey. I looked earlier in this thread and couldn’t find anywhere you had posted your script.

After making necessary changes to allow your script to compile, I saved it as an app in Script Debugger and then set Accessibility and Full Disk Access permissions for the app. I confirmed that System Events had Accessibility and Full Disk Access permissions. I then ran the app in the Finder by way of the context menu’s Open command and the app ran without issue. I can’t be sure if the app did what it was intended to do (no junk mail), but there were no permission errors. I don’t know why you are receiving a different result. I’m on macOS 14.4.1.

tell application "Mail" to activate
tell application "System Events"
	tell application process "Mail"
		-- Erase Junk Mail
		tell menu item "Erase Junk Mail" of menu "Mailbox" of menu bar item "Mailbox" of menu bar 1 to click
		tell button "Erase" of sheet 1 of window 1 to click
		-- Erase Deleted Items
		tell menu item "In All Accounts…" of menu "Erase Deleted Items" of menu item "Erase Deleted Items" of menu "Mailbox" of menu bar item "Mailbox" of menu bar 1 to click
		tell button "Erase" of sheet 1 of window 1 to click
	end tell
end tell

Thank you again for all the help. I try to replicate you procedures. Need to get Script Debugger. I was using the native apple script editor. I will use the script you included in your reply. Will let you know how it turns out.