Why doesn't KM ask for Calendar access?

If I run /opt/homebrew/bin/icalBuddy calendars in Terminal, it gives me two prompts:


If I run the same command in Keyboard Maestro, it just fails quietly with no error message and no prompting for calendar/reminder access.

This seems like a bug or shortcoming in Keyboard Maestro to me, which keeps one of my biggest projects from working (showing upcoming meeting info on Stream Deck buttons) and I am stymied to figure out how to make it work if Keyboard Maestro won't prompt for calendar/reminder access.

Any help appreciated.


(Note: If you want to test this, you need to install it via

brew install ical-buddy

due to how Brew handles interCaps.)

There is a discussion on the official forum for Obsidian which might help you.

https://forum.obsidian.md/t/calendar-permission-is-not-requested-on-macos-ventura/46165/11

It is of course focussed on using ical-buddy with Obsidian, but someone does actually mention that they "Ran into the same issue running icalBuddy in Keyboard Maestro".

I gather that the solution involves generating a code signing certificate, but I have only had time to skim the article.

Check if Keyboard Maestro Engine is already listed in the Calendar permissions.

Typically the system will only ask once and if it was denied, that's the end of that until you manually enable it.

Nope. I don't see Keyboard Maestro listed here at all:

Yikes. I read that and don't really understand it at all.

Hopefully there's an easier solution for Keyboard Maestro.

Thanks

Tj

1 Like

Ooh! I think I got it!

From another post, I learned to tell Keyboard Maestro to ask for calendar access by using the AppleScript:

tell application "Calendar" to calendars

Which did prompt me for calendar access.

BUT that was only "Add To" Access.

I had to go to System Settings and click on the "Options…" button next to Keyboard Maestro to give it Full Calendar Access.

Now iCalBuddy works in Keyboard Maestro!

4 Likes

Nice find; confirmed the fix works!

I think you could also make the "Add" permission appear by running a macro with a single "Create Calendar Event" action in it. That should trigger the dialog, but only allowing Add. You'd then still have to do what you did to grant full access.

-rob.

2 Likes