Cloister.
Multi-tenant isolation for coding agents

Isolated Claude Code & Codex, one cell per company.

Run agents for more than one client and they all share the same login and every MCP server. Cloister gives each company its own walled cell — its own login, its own MCP servers, its own encrypted secrets.

terminal
$ npm install -g cloister-sh
$ cloister up

$ cloister
marteso    running
rowtally   running

$ cloister marteso
# the real Claude Code, in Marteso's cell —
# its login, its MCP servers, nothing shared
The problem

One ~/.claude.json for every client.

Claude Code and Codex keep all their state in a single home directory. Every agent you run shares the same logins and the same globally-connected MCP servers — so one client's GitHub, Notion or RevenueCat is reachable from another's agent.

Before

One login, one set of MCP servers, shared across everything. Secrets and workspaces bleed between tenants. You hope nobody notices.

With Cloister

Each company runs in its own container with its own $HOME, login, MCP servers and encrypted secrets — separated on the filesystem, not by convention.

What you get

A quiet cell for every tenant.

Real per-tenant isolation

Auth, MCP tokens and workspace live in a per-company home mounted into its own Docker container.

Logins that survive automation

Sign Claude Code and Codex in from the dashboard once. The auth state persists across restarts — no re-login for headless runs.

OAuth MCP servers, pre-authorized

Notion, Vercel, PostHog, RevenueCat and friends are authorized once; the token lands in the tenant cell so autonomous runs just work.

Encrypted secrets

Tokens are encrypted at rest and only decrypted into the right container's environment at start — never written in plaintext.

Real git, not just the GitHub MCP

Every cell ships git and gh with a per-company identity and credential helper. Agents clone, commit and push — not only call the API.

A record of every run

Each run is logged with live streaming output, so you can see exactly what each company's agent did.

Three ways to work

Manage in the interface. Work in the terminal.

A web dashboard and a native macOS app (coming this week) manage the fleet. The cloister command is your daily driver.

Drop into a cell

The company's isolated session

$ cloister marteso
# native Claude Code TUI, Marteso's login & MCPs

On the project you have open

Isolation, on your working directory

$ cd ~/code/marteso-app
$ cloister here marteso
# edits your open repo, as Marteso — commits & pushes with its identity

Headless

For scripts, CI and orchestrators

$ curl localhost:8080/run -d '{"company":"marteso","prompt":"…"}'
Get started

Two commands and you're running.

Requires Docker. Open source, MIT.

terminal
$ npm install -g cloister-sh
$ cloister up

Dashboard  →  http://localhost:3000
# create a container, log in, then: cloister <company>