Remove Duplicates From a Mac's 'Open With' Menu

Rebuild the Launch Services Database

The 'Open With' menu lets you open documents using a different application than the one associated with the document type. For instance, you may wish to open a JPEG image with Photoshop rather than Apple's Preview. You can easily do this by right-clicking the document (in our example, a JPEG image) and selecting 'Open With' from the pop-up menu. This is my favorite method for quickly opening documents in other applications. The 'Open With' menu will display all of the applications you have on your Mac that are capable of working with the selected document.

One drawback of the 'Open With' menu is that, over time, it can get very long, as you install and remove applications on your Mac. It can also start to display duplicates of applications. For instance, my 'Open With' menu displays four entries for Photoshop even though I only have one version of Photoshop on my Mac. The 'Open With' menu can fill up with duplicates each time you create a clone of your startup drive or mount drives that contain copies of applications. Sometimes it seems to happen just because in the dead of night, a dog bayed at the full moon.

Resetting the 'Open With' Menu

Resetting the 'Open With' menu will remove duplicates and ghost applications (ones you have deleted) from the list. You reset the 'Open With' menu by rebuilding the Launch Services database your Mac maintains. There are multiple ways to rebuild the Launch Services database, including third-party system utilities like Cocktail and Onxy.

If you don't own a system utility that can rebuild the Launch Services database, don't worry; you can perform the rebuild yourself using Terminal.

Using Terminal to Rebuild the Launch Services Database

Launch Terminal, located at /Applications/ Utilities/.

For OS X 10.5.x and later, enter the following at the Terminal prompt:

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user

For OS X 10.3.x - 10.4.x, enter the following at the Terminal prompt:

/System/Library/Frameworks/ApplicationServices.framework/\Frameworks/LaunchServices.framework/Support/lsregister \-kill -r -domain local -domain system -domain user

The above is one command and is entered on a single line. You can simply copy/paste the above command into Terminal, then press Return/Enter to execute the command. If you have difficulty selecting the command above, triple-click the command text.

The rebuild process can take a minute or two. Once the Terminal prompt returns, you can quit Terminal.

Now when you use the 'Open With' menu, you should see an application list that's limited to the applications currently installed on your Mac, with no duplicates or ghosts.

Reference

Launch Services

lsregister man page

Was this page helpful?