Reset the Launch Services database.

      lsregister: [Options] [path...]
                     [-apps domain[,domain]...]
                       [-libs domain[,domain]...]
                           [-all  domain[,domain]...]

lsregister is not on the system path so run it using the full path as shown in the examples below.

   -delete   Delete the Launch Services database file. You must then reboot!
   -kill     Reset the Launch Services database before doing anything else.
   -seed     If database isn't seeded, scan default locations for applications and libraries to register.
   -lint     Print information about plist errors while registering bundles.
   -lazy n   Sleep for n seconds before registering/scanning.
   -r        Recursive directory scan, do not recurse into packages or invisible directories.
   -R        Recursive directory scan, descending into packages and invisible directories.
   -f        force-update registration even if mod date is unchanged.
   -u        unregister instead of register.
   -v        Display progress information.
   -gc       Garbage collect old data and compact the database.
   -dump [table]
             Display full database contents after registration.
   -h        Display help.
   -convert  Register apps found in older LS database files

Valid domains are "system", "local", "network" and "user". Domains can also be specified using only the first letter. Domains can also be specified using only the first letter, s,l,n,u.

Paths are searched for applications to register with the Launch Service database. The Launch Service database controls the Finder's 'Open With' right click, contextual menu.

Resetting the system domain will also reset the first-launch security prompt: the first time you launch an application by opening a document, the system will ask 'are you sure'.
This is equivalent to deleting the Launch services plist:

If you have a large group of files that are opening in the wrong application even after changing the "Open With" setting, then resetting the Launch Services registry database should fix the problem.

After running lsregister to rescan the database or create a new UTI, run killall Finder to reload the Finder's “Open With” Menu, or just restart the machine.

Full Path to lsregister

lsregister is not on the system path so either:

Create an alias 'lsr' for the full path to lsregister:lsr='/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister

or temporarily add the directory to your PATH so that you can run lsregister with just lsregister


Run lsregister and display help


Reset the Local & User domains:

lsregister -kill -r -domain local -domain user

Reset the Local, User and System domains:
lsregister -kill -r -domain local -domain user -domain system -v Rebuild macOS’s Launch Services to reset app and document associations: lsregister -kill -seed

“Because the people who are crazy enough to think they can change the world, are the ones who do” ~ Apple Advert

Related macOS commands

Onyx utility - Includes a maintenance script to rebuild the Launch Services.
Article: TA24770 - Clear the 10.4 Finder "Open With" contextual menu.
StackExchange - How can I make macOS recognize new file extensions?

Copyright © 1999-2024
Some rights reserved