Skip to content

About

Containers for Chrome: several accounts of the same site, side by side in one profile. Optional local MCP bridge for AI agents.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

SplitSession

Same site, separate logins.

Two accounts, side by side: open the popup, add a Work container, sign in as a brand account on the same social site, post, switch between the two tabs

CI License: MIT npm: splitsession-bridge Chrome Web Store Website Ko-fi

SplitSession is an open-source Manifest V3 extension that brings Firefox-style containers to Chrome. Keep several accounts of the same site open side by side, in different tabs of one Chrome profile: two Reddit accounts, a work and a personal Supabase, all logged in at the same moment, with no second profile and no second browser. Each container has its own cookies and page storage; a tab belongs to one container, and everything that tab does happens inside it.

It also works with Chrome's split view: two accounts of one site, literally side by side. Two tabs of different containers in one split view are taken out of their groups and keep their own accounts (marked ⧉). (The picture composes two real container tabs; a split view cannot be scripted.)

Two container tabs of the same site shown as the two halves of Chrome's split view, signed in as two accounts

Features

  • Containers: a name, a colour and a cookie jar per container.
  • Cookie and storage isolation per tab: network cookies, localStorage, IndexedDB and more; popups stay in their container.
  • Tab groups named after containers, kept in sync both ways.
  • Restore after restart: container tabs come back in their containers.
  • Saved tabs: close a container's tab group and one click on the container brings all its tabs back.
  • Domain rules ("always open this site in X") and an optional strict mode against service workers.
  • Export / import, light and dark themes, keyboard-accessible UI.

More detail: docs/features.md.

Lite and Full

Lite Full
Containers, isolation, tab groups, rules, restore, export / import yes yes
Local AI agent bridge (MCP), off by default no yes
Extra permissions none nativeMessaging, debugger (unpacked Full). In the Chrome Web Store build nativeMessaging is optional, and debugger depends on the version: a version without it runs the agent bridge in a basic mode (no run_js, key presses, console or network; script-sent clicks), a version with it has the full tool list including run_js. The extension's details page in chrome://extensions shows whether it has the debugger
Where build from source Chrome Web Store, GitHub Releases

The Chrome Web Store item carried Lite up to 0.1.x and carries Full from the update that adds the agent bridge (one item, updated in place: containers and settings carry over). That update adds no required permission and disables nobody: containers keep working. The one optional permission, nativeMessaging, is asked only when you switch the agent bridge on (Chrome's own prompt; SplitSession then restarts itself once to finish turning it on). The bridge stays off until you switch it on and accept what it allows. Lite remains in the code base (its agent code is not compiled in) but is no longer uploaded.

Full has one of two extension IDs: hhodioekcdmhpocjbkjnblmbmchddphf from the store, hapfikidacgfgnnajkgnaednpgnhmffk loaded unpacked (pinned by the manifest key). The bridge program (npx splitsession-bridge install, 0.4 or newer) accepts both.

Install

Chrome Web Store, the easy way: SplitSession: Multiple Logins per Site. One click, updates automatically.

From GitHub Releases (Full, loaded unpacked; it never updates by itself):

Install from a GitHub Release: download the zip, unzip it, open chrome://extensions, turn on Developer mode, Load unpacked, pin the toolbar button

  1. Download splitsession-full-<version>.zip from Releases and unzip it. (splitsession-store-<version>.zip is the package uploaded to the Chrome Web Store, without the manifest key; splitsession-lite-<version>.zip is Lite.)
  2. Open chrome://extensions and turn on Developer mode.
  3. Choose Load unpacked.
  4. Select the unzipped folder.

Keep one copy of SplitSession per Chrome profile (Store or GitHub, Lite or Full): two enabled copies fight over cookies, and SplitSession warns when it finds the other one (with its edition, version and where it came from). The store install and an unpacked Full are two copies too: their containers are separate (storage belongs to the extension ID), so moving from one to the other is Export, then Import.

To build from source, see Development below.

Quick start

  1. Click the SplitSession toolbar button and press + to create a container, say "Work". Its first tab opens in it.
  2. Log in to a site there. Create a second container, open the same site, and log in as someone else. Both stay logged in.
  3. Use the popup's swap button to reopen any tab in another container, or add a domain rule in Settings so a site always opens in the right one.

More

AI agents (Full edition) — let Claude Code, Codex or Cursor see and use your tabs

An AI agent replies to a note from the Brand account: the terminal shows the tool calls, the browser shows the Brand container tab at each step

The Full edition has an optional local MCP server that lets your own agent (Claude Code, Codex, Cursor and others) list your Chrome tabs with their containers and operate them: snapshots, trusted clicks and typing, screenshots, console and network, opening pages in a container. It is off by default and one all-or-nothing switch in Settings. Several Chrome profiles can have it on at once; one MCP server sees them all, each tab tagged with its profile. Several agent sessions can work at once: a tab belongs to the session that opened or last changed it, so they do not trip over each other. Tabs an agent opens itself go to a separate window (a setting), and actions that hit a site are spaced out per site.

npx splitsession-bridge install   # then switch on "Agent bridge" in Settings > "For AI agents"

Tools, security model and client options: docs/agents.md.

Security and limits — what is and isn't isolated

SplitSession separates accounts on the same site; it is not a privacy tool and not a sandbox. It sends nothing anywhere (privacy policy).

  • The HTTP cache, HTTP auth, fingerprint, saved passwords and history are not isolated.
  • One documented residual hole (same-origin frames and popups during navigation): docs/commit-gap.md.
  • Not verified on many real sites yet. Full list: docs/limits.md. How it works: docs/how-it-works.md.
Development — build, test, editions

Node 22+ and pnpm 10.

pnpm install
pnpm dev            # WXT dev mode with a throwaway Chrome profile (pnpm dev:lite for Lite)
pnpm build          # Full -> .output/chrome-mv3
pnpm build:lite     # Lite -> .output/lite/chrome-mv3, plus the bundle check
pnpm test           # unit tests; pnpm e2e runs Playwright in real Chromium
pnpm lint && pnpm format:check && pnpm typecheck

Layout, editions, the end-to-end stand and releases: docs/development.md. All documents: docs/README.md.

Support

SplitSession is free and MIT-licensed. If it saves you a second browser profile, you can buy me a coffee on Ko-fi.

License

MIT.

About

Containers for Chrome: several accounts of the same site, side by side in one profile. Optional local MCP bridge for AI agents.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages