App gets in commandline parameter "-psn_0_nnnnnn", why

I installed an app which is compatible with OSX 10.10, on 10.8 app shows warning about incorrect parameter:

-psn_0_176171

Why app shows this? it is installed from Dmg file, it's .app file - on desktop.


Pre to OSX 10.9 apps launced in GUI had a -psn parameter passed to them. This was a Carbon system feature.

From this SO answer some documentation is in Apple's ProcessSerialNumber section of the Carbon Process Manager Reference. This is now marked as a retired document and the methods are noted as removed in OS X 10.9

Thus in 10.8 there is a -psn argument passed on the command line and the app then sees this and seems to be confused. I would note a couple of other things a 10.10 app will make calls to functions not in 10.8 so your app will likely crash later, also I suspect the app is reading the command line and this is not the best was as noted in the first link in in the comment by Graham Miln


It seems that older applications that used the Carbon API get started with this argument. If the application was already updated to a version not using Carbon any more, you can unregister the application from the LaunchServices database by:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -u /Applications/AppName.app/

After this it can be re-launched from Finder to register the new version. Then it should not get this argument any more.