How a Playwright Bug Broke macOS Dock Chrome and the Fix Using Bundle ID Split
A developer running automated browser scripts via Playwright discovered that directly executing the Chrome binary caused macOS LaunchServices to permanently register Chrome as already running, breaking Dock and Spotlight launches with an error -600. The conflict arose because Playwright's channel:'chrome' option exec's the Chrome binary directly, leaving LaunchServices convinced the app is active even after the automation process exits. The permanent fix involved copying Google Chrome.app to a separate app with a distinct bundle ID, effectively making the automation instance invisible to the regular Chrome. Since rewriting Info.plist invalidates Google's code signature, the copied app must be re-signed ad-hoc using codesign --force --deep --sign to prevent helper processes from being killed. A safety check in the script also ensures the rebuild is skipped if the automation Chrome is currently running, avoiding binary replacement mid-session.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in