WIP: Launch predefined sets of Chrome instances with different profiles, behaviors, and geometries
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This is under development. Basically nothing useful is here.


Manage and launch Chrome layouts, similar to tmuxinator.


  • Visit chrome://extensions/
  • Ensure Developer mode is checked
  • Click Load unpacked extension...
  • Locate and select the directory with the manifest.json file in it

Currently requires Chrome 33+ for OSX. Linux/Windows are untested.


Main structure is a Chrome extension under extension/ and a native app under native/.

  • The extension has two parts; host and worker.
  • The extension and native app will communicate via "native messaging." Alternatively they could communicate via websockets.
  • The extension host will provide a UI for designing layouts (options page) and a UI for launching layouts (popup).
  • The extension host will push layout jobs to the native app.
  • The extension worker (running under a desired profile) will pull layout jobs from the native app (relevant to its profile).
  • The native app will maintain this queue of layout jobs.
  • The native app will launch new Chromes with specified profiles, as needed.

Interestingly, moving from native messaging to websockets opens the door for remote workers.


Example native-messaging node host: http://blog.dfilimonov.com/2013/09/12/devtools-terminal.html

Implementation notes

Launching chromes in different profiles: My StackOverflow question http://stackoverflow.com/questions/21819553/can-a-chrome-extension-launch-new-chrome-windows-under-different-user-profiles

Profile Extension API proposal: http://dev.chromium.org/developers/design-documents/extensions/proposed-changes/apis-under-development/profile-extension-api

My inquiry on the Profile Extension API https://groups.google.com/a/chromium.org/forum/#!topic/apps-dev/_M0UZv3oG-4

Related crbug "Extensions don't know profile" https://code.google.com/p/chromium/issues/detail?id=173828

Native-messaging + chromedriver workaround? How to launch windows in other profiles? https://developer.chrome.com/extensions/messaging.html#native-messaging

Extensions running in multiple profiles, get refs to bkg-page in multiple profiles:

Related works

Basis of native/ (NativeMessagingAPI and related code) is from https://github.com/petethepig/devtools-terminal



Stand mixer icon by Greg Barnes.