Posted on 11-01-2016 10:15 AM
So in the past, I've used commands like this to remove an app from LaunchPad:
sqlite3 ~/Library/Application Support/Dock/*.db "DELETE from apps WHERE title='APPNAME';" && killall Dock
And that has worked. But a couple things have happened. That database has moved and is no longer in ~/Library/Application Support/Dock/ and it seems in it's new location, it may not be a sqlite db any longer.
If you use the following command, you can find it's new location on Sierra:
sqlite3 $(sudo find /private/var/folders -name com.apple.dock.launchpad)/db/db "DELETE FROM apps WHERE title='APPNAME';" && killall Dock
This gives you a seemingly random location within /private/var/folders, however it seems the sqlite command does not let you edit the file. It also seems it just may not be a sqlite database any longer.
Anyone have any luck with this yet? And yes, I know if I delete the app from /Applications it won't show up anymore but I want to use that as a last resort.
Posted on 03-14-2017 02:46 AM
Did you find a solution?
Posted on 05-20-2017 06:46 PM
Crazy, I'm glad I didn't read your post and just copy/pasted your new line as it worked fine for me. Only thing I can is maybe try doing "sudo su" and then making your way into the folder and run the sqlite command from actually in the same folder as the db for troubleshooting. But bottom line, your line does work. I used it to delete a disconnected entry from a deleted app. One other thought is maybe it worked for me because I have SIP (System Integrity Protection) turned off.
Posted on 05-11-2018 06:22 AM
Was a solution ever found for this ?
Posted on 11-09-2019 07:03 PM
FTD! Yep revived an old thread...sorry...
Try sqlite3 $(find /private/var/folders ( -name com.apple.dock.launchpad -a -user $USER ) 2> /dev/null)/db/db "DELETE FROM apps WHERE title='APPNAMEHERECASESENSITIVE';" && killall Dock
Works in Catalina.
Posted on 03-16-2020 04:38 PM
@Chubs
I am a far cry from a scripter but I am having issues.
I cannot get this to work to remove some icons from Launchpad on Mojave or Catalina.
sqlite3 $(find /private/var/folders ( -name com.apple.dock.launchpad -a -user $USER ) 2> /dev/null)/db/db "DELETE FROM apps WHERE title='RoamingClientMenubar';" && killall Dock
Am I missing something?
Posted on 03-17-2020 05:38 AM
If you're running it as the end user, don't "sudo su" and then run. Just run it like this:
sqlite3 $(sudo find /private/var/folders ( -name com.apple.dock.launchpad -a -user $USER ) 2> /dev/null)/db/db "DELETE FROM apps WHERE title='AppNameHere';" && killall Dock
The way you're running it (I'm assuming), you are getting a "cannot open /db/db" error - right?
If so, the above method should resolve it for you.
Be aware that the app name has to match 100%. If it's off by even a space or a capitalization error, it will not work.
If you're running it as a script from jamf pro, then you can omit the sudo and run it the way you have posted.
Posted on 03-17-2020 10:00 AM
@Chubs I ran it like that too. It still failed with not permitted error. I have JAMF and Cisco involved now. Will post when and if I have a response to a fix but I did learn from JAMF that the Launchpad is in the protected area of the drive and may not allow it in Mojave or Catalina due to SIP.
Posted on 03-17-2020 10:02 AM
@rhooper I literally just ran this on my 10.15.3 and 10.15.4 (beta) machines on an app I didn't care about and it removed it from launchpad.
Might be restrictions from Cisco on the app itself, but I haven't seen that. I've been able to remove system icons from launchpad using these commands.
Posted on 03-17-2020 12:15 PM
@Chubs I was able to run that line of code using Terminal and it worked on a Catalina device.
I pushed it out to one other device and that also worked... I changed one thing... /*/db "DELETE....."
Thank you so much for that.
Posted on 04-13-2020 08:55 AM
Hello, I'm trying all the methods above, however, I'm not able to remove a dead shortcut from Launchpad. I'm logged into the Mac with non-admin credentials. I've tried using the su localadmin command within terminal to use terminal as our localadmin account - still can't remove it. What am I doing wrong?