List of Shortcuts in BTT is not complete

I have 89 shortcuts in the Shortcuts app.

I'm trying to run a shortcut using "Run Shortcut from Shortcuts App". But my shortcut does not appear in the list. The category also does not appear. It's like the list of shortcuts is out of date.

Is there a way to force it to sync? I've tried quitting both BTT and the Shortcuts app.

The category that's not showing is called "Agenda".

One of the two shortcuts in that category does appear in search, but only if I type the beginning word. The shortcut is called "Get Selected Agenda Note". If I search for "Agenda" I do not get the shortcut in the list. If I search for "Get" then I do...

The shortcuts actually appear in the list of predefined actions; and I wonder if it's that list that's become out of date:

Does the category or shortcut contain special characters? (There seems to be a bug in the shortcuts app where special characters cause issues for apps trying to retrieve the shortcuts currently)

Hi Andreas,

Thanks! Not as far as I can see.... The name of the missing shortcut is "Link Selected Agenda Item to Event" and then the missing category is "Agenda". I suppose the name's quite long - in case that is it?

I could try a bit of troubleshooting -- I'll try and create some other shortcuts and will also see if I can do some AppleScript to see if I get the right results back for the list of shortcuts, etc.

Tom

Hi! I just retried this by creating a new Shortcut (not in a category) called BTTTest. It appears in Shortcuts app, and actually has no actions.

It doesn't appear in BTT list yet, and doesn't come up if I search.. It's almost as if the list of shortcuts is frozen in time. Is there a delay (perhaps it polls every so often?)

Thanks in advance!

Tom

To help troubleshoot further, I ran

shortcuts list

on the command line and got 84 items.

I tried searching for all the items on BTT; and it found all except for the most recent 4.

I tried deleting some (to see if it's to do with the number of items in the list) and that didn't seem to change things.

If I restart BTT, then the deleted shortcuts don't appear on the list (good!) .. but any new ones don't appear either.

It's like the list is frozen in time, and no new shortcuts get added.

How does BTT refresh its list of shortcuts?

There are no unusual characters in the shortcut names, as far as I can see

I’ll post the script BTT uses to retrieve them later, when I’m back on my computer. Would be great if you could try running it - maybe it encounters some error.

Btw which version of BTT are you running? There were some improvements to the code a few weeks ago

Thanks! It's 3.821, and I'm currently using the SetApp version (although I did also previously buy BTT; but this particular version is via SetApp). Yes - that sounds great; I'll try running the script once you are able to send.

My workaround for now is to use AppleScript to trigger the missing shortcuts; which is fine - but would be slightly easier to be able to select from list.

Hi! I couldn't find anywhere on BTT that checked for updates, and restarting didn't change anything. But I tried restarting the Mac today, and SetApp then updated to BTT 3.855.

Now, all shortcuts appear in search. But one thing that I think is a bug.. I reckon the Shortcuts search only ever shows one shortcut in the results at a time. This means that you can search for something quite specific and still not see your shortcut - until it's the last item left in the results.

This is driving me round the bend! I've added a new folder to Shortcuts, with 9 shortcuts inside it. The folder does not appear in BTT, and neither do any of the new shortcuts. Quitting and re-opening both Shortcuts and BTT does not help. The shortcuts do appear in the list from the shortcuts terminal command; but it's as if BTT is not refreshing them.

Could you try running this Apple Script and check whether it returns any error?

s = Application('Shortcuts Events'); 
function listAll() { let array = [];  
for(let shortcut of s.shortcuts()) { 
try { let folder = shortcut.folder(); 
if(folder) {
 array.push({name: shortcut.name(),  
color: shortcut.color(),
 folder: folder.name()}) 
} else { 
array.push({name: shortcut.name(), 
 color: shortcut.color(), 
folder: 'Uncategorized'}) } } catch(e) { return e } }
 return array; }
 listAll()

Best run it in Apple's "Script Editor" App, make sure to set it to Java Script:

Thanks! This script runs okay and returns my shortcuts.

However.. If I create a new folder, and a new shortcut in it, the script does not return that shortcut or folder in the list.

If I then drag my new shortcut into the All Shortcuts folder and re-run the script, it does then appear (category is Uncategorized).

1 Like

Mine behaves exactly like this. I'm on the latest release as well. M1 Air running Ventura 13.0

Is this problem going to be addressed? Mine still works like this. I have a new folder in the Shortcuts app and it never appears in BTT. Also using the SetApp version. Is there some level of permissions that we need to add to BTT manually that it is not asking for?

EDIT: I went and bought the non-SetApp version of the app after posting this. The full forever license. Installed. Configured. Same issue.

1 Like

I'm having the same problem, some of my folders and therefore shortcuts within aren't appearing in BTT. No special characters or anything wonky.

Same here. Some groups are returned, some aren't.

Putting the Shortcuts in Uncategorized, selecting them and then back into the group does work but afterwards the UI doesn't show the Shortcut anymore.

@Andreas_Hegenberg I just checked on my machine.
Running shortcuts list in the Terminal returns all Shortcuts.
Running the script there are a few missing since Shortcuts isn't returning them at all.

However I'm able to get all missing Shortcuts with this script:

function listAll() {
	let array = [];
	for(let folder of s.folders()) {
		try {
			for(let shortcut of folder.shortcuts()) {
				array.push({name: shortcut.name()})
			}
		} catch(e) { 
			return e
		}
	}
	return array;
}
listAll()

So combining my script with your script ignoring all Shortcuts with folders should return a complete list of all Shortcuts.

This script lists all Shortcuts I have:

s = Application('Shortcuts Events');
function listAll() {
    let array = [];
    try {
        for(let folder of s.folders()) {
            for(let shortcut of folder.shortcuts()) {
                array.push({
                    name: shortcut.name(),
                    color: shortcut.color(),
                    folder: folder.name()
                })
            }
        }
        for(let shortcut of s.shortcuts()) {
            if(!shortcut.folder()) {
                array.push({
                    name: shortcut.name(),
                    color: shortcut.color(),
                    folder: 'Uncategorized'
                })
            }
        }
    } catch(e) { return e }
    reeturn array;
}
listAll()

I'll try it!

The general problem seems to be Shortcuts not updating after adding new shortcuts until manually killing the "Shortcuts Events" process. Maybe it's just not updating the folders correctly, in that case your script would be a good workaround.

Yes, after a reboot all Shortcuts were visible inside BTT again.