Multi-Extension Feature

The multi-extension feature allows you to run a separate instance of extensions per Identity. So now, you will be able to use extensions with your multiple Identities as well.


This feature allows you to achieve web3 multi-accounting in Ghost Browser, just as you have always been able to do for web 2,0.


Please note that in order for extensions to work with Multi-accounting, they must be added to our multi-extension compatibility list, which is hard coded into the browser. As May 2024, compatible extensions are all web3 wallets and include: Coinbase WalletKeplrMath WalletMetamaskPhantomPolkadot.js, and Trust Wallet, all of which you can add from the Chrome Web Store.


If you would like other extensions added to the capabilities list, please let us know. This feature can be used for any Chrome extension, not just web3 wallets.


This feature is disabled by default to avoid unexpected performance or resource issues for users with a lot of Identities. When turning it on it is important to think about how you use Ghost Browser when selecting the settings. This article will help you do that.


Or, if you prefer, you can watch the settings explainer video.

Turn On Multi-Extension

To use the feature, you must turn it on. There are two general ways to do this.

Through the Identity Manager

If the Multi-Extension feature has not yet been turned on, you will be presented with a link to go to the settings when you create a new Identity:

Through the Settings Menu

Otherwise, you can simply access the settings as you do for all browser settings. Just click the three dots menu, then "Settings"


Configure the Settings to Your Use Case

Once you are on the settings page:

  1. Find the Multi-Extensions option on the left, or type it into the search box.
  2. Turn the setting that says "Allow Identities to run separate instances of Extensions." and turn it on.


IMPORTANT: Simply turning this feature on does NOT ignite the magic. That is because the "Multi-Extension Default Behavior" is set to "Default Identity" initially.


This means all Identities will still use the extension instance of the default Identity. We do this to avoid having dozens of instances of an extension load without warning.


Enabling Multi-Extension for All Identities

From here, you can turn Multi-extension on for ALL Identities instantly by selecting "Enabled" as the default behavior, as shown below. However, if you have a lot of Identities, don't do this yet until you read further.

If you have a lot of Identities, or if use Ghost Browser for a variety of purposes and only want to do multi-accounting in Web3 for a select few of your Identities, the better option is to use Overrides.


Multi-Extension Overrides

To prevent multiple extension instances from loading for each Identity, choose the Multi-Extension Default Behavior to either "Disable" the feature by default or set it to use the same extension instance as your default Identity. From there, you can enable it for only the Identities you want to use it for.


The way to do this is through the Identity Manager. In this example we will use MetaMask.


  1. Be sure you have MetaMask (or your target extension) already installed.
  2. Click the Identity Manager Icon in the Extension tool bar and click "Edit" for the Identity you want to have a separate instance of your extension.
  3. Find the "Multi-Extension Overrides" setting.
  4. It will show the setting that is currently in use.
  5. Click "Configure" to change it. Here you will see a list of all ME compatible extensions you have installed and you can select whether each one gets its own instance or not.
  6. Select "Enabled" to give that Identity its own instance of any extension.
  7. Click ok,

That's it! Now you can go to any tab in the Identities for which you have ME enabled and log into a different Web3 account in each one. Be sure to refresh any tabs that were open before you configured your settings to make sure the new settings are applied.


Other Settings

Extensions will use Proxies

If you are using proxies in an Identity, web sites in all tabs will load using the proxy you designate. (For more information on using proxies in Ghost Browser please see the Ghost Proxy Control help article.) However, extensions will route your connections through your naked IP address. So, by default, if you turn on the Multi-Extension feature, we turn the "Extensions will use proxies" option on as well. If you disable this, you will be connecting to your web3 apps through two different IP addresses which could have unintended consequences. If you are using proxies at all, we recommend you leave this on.


Clean Toolbar

If you are using Multi-Extension in many Identities, your toolbar can get very crowded very quickly with extension icons for all of the Identities.

To avoid this, we've created a setting called Clean Toolbar which ensures that you will only see the icon for the extension instance for the Identity you are currently working in. If you switch tabs to a different Identity, the active icon will switch too. So instead of four icons like above, it would look like this:

or this:

We recommend you leave the Clean Toolbar on for most use cases.

Troubleshooting

Extensions not showing

First, make sure you've installed any extension you are trying to use with ME. If you've installed it and it's not showing, please click the puzzle piece icon so you can "pin" the extension.

If you are not using the clean toolbar, you can use this setting to decide which extension instances should be pinned (and displayed) and which should not. As you can see in the image above, the blue Identity is not pinned so it does not show in the extension tool bar.

Scaling for Performance


NOTE: We recommend you do not try to run 100 instances of any extension right away. Slowly add them about 10 at a time to monitor for performance issues. You can set up a different browser profile if you want to test this without interfering with your normal work. Though we believe you can run dozens of instances, this really depends on the extension you are using and what it does. Performance varies widely among Chrome extensions, so taking it slow it first will help.


If by chance you go overboard and the browser becomes unresponsive, you can use the -- no-multi-extensions command line argument to start the browser with the feature turned off. This will allow you to get in and remove some instances to get it going again.


Experimental and What's Next

The Multi-Extension feature has been out in the wild for several months now and we've made many improvements to it. We believe it is stable, but there may be unknown unknowns, so we are maintaining its "Experimental" status.

If you have questions, issues or feature requests, or, if you would like us to add an extension to the compatibility release, please reach out to let us know. Remember this is still an early release so there may be some unanticipated issues that we need to work through.

Thank you for trying Multi-Extension - your gateway to multi-accounting in Web3.