Skip to main content

Comparison: Single-Bank vs Multi-Bank Hindsight

· 6 min read
Ben Bartholomew
Hindsight Team

Comparison: Single-Bank vs Multi-Bank Hindsight

If you are choosing between single-bank vs multi-bank Hindsight, the real question is not which one is more advanced. It is which one matches your memory boundaries. Do you want one client or workflow pinned to one bank, or do you need the ability to work across several banks dynamically?

Both modes are valid. Both are built into Hindsight. The right choice depends on how much flexibility you need, how strict your isolation model is, and whether your clients should ever decide which bank to use at runtime.

This comparison breaks down the tradeoffs, shows when each pattern fits best, and gives you a practical rule of thumb for choosing the safer default. Keep the docs home and the quickstart guide open if you want the implementation details while you read.

Short answer

  • Use single-bank mode when one client, agent, or team should always work inside one bank.
  • Use multi-bank mode when the caller needs to create, select, or switch banks dynamically.
  • When in doubt, start with single-bank mode. It is simpler and safer.

What each mode means

Single-bank mode

In single-bank mode, the bank is baked into the MCP URL or client configuration.

Example:

http://localhost:8888/mcp/my-bank/

All memory operations are pinned to my-bank. The client does not need to pass a bank_id parameter every time.

Multi-bank mode

In multi-bank mode, the client connects to the root MCP endpoint:

http://localhost:8888/mcp/

The tool layer can then choose, create, or switch banks dynamically. This mode exposes bank-management tools in addition to the core memory operations.

Side-by-side comparison

DimensionSingle-bankMulti-bank
Setup complexityLowerHigher
Isolation by defaultStrongerWeaker unless managed carefully
Bank selectionFixed by configChosen at runtime
Good forOne user, one app, one teamMulti-tenant tools, dynamic workflows
Client simplicityHigherLower
Operational flexibilityLowerHigher
Risk of cross-bank mistakesLowerHigher

When single-bank mode is the better choice

Single-bank mode is the better fit when:

  • one client should always use one memory bank
  • a team shares one project bank
  • you want the simplest possible MCP configuration
  • you do not want the client deciding where memory goes

This is often the safest default for coding tools, personal assistants, and project-scoped agents.

Why it works well:

  • fewer moving parts
  • less routing logic
  • fewer opportunities for accidental memory leakage
  • easier debugging when recall looks wrong

If you already know the memory boundary, pinning the bank in config is usually the right move.

When multi-bank mode is the better choice

Multi-bank mode makes sense when:

  • one service handles many users or tenants
  • your tool needs to work across several projects
  • agents need bank creation and bank switching as part of the workflow
  • you are building a more general memory platform, not a single-purpose client

This is the more flexible option, but it puts more responsibility on your application logic.

If you pick multi-bank mode, your routing rules matter a lot. The system needs a reliable way to determine which bank belongs to which user, project, or team.

The biggest practical tradeoff

The main difference is who owns routing.

  • In single-bank mode, configuration owns routing.
  • In multi-bank mode, the application or client workflow owns routing.

That sounds small, but it changes the failure mode.

With single-bank mode, mistakes usually look like “I pointed this client at the wrong bank.”

With multi-bank mode, mistakes can look like “the client stored memory in the wrong bank at runtime.” That is usually a more dangerous class of error.

For recall behavior itself, the underlying search system is the same. If you want to understand that layer more deeply, review Hindsight's recall API and Hindsight's retain API.

Common examples

Single-bank examples

  • one Claude Code setup for one repository
  • one shared team bank for a backend service
  • one Paperclip company+agent bank
  • one OpenCode install pinned to a project bank

Multi-bank examples

  • a hosted support agent serving many customers
  • an MCP gateway exposing several team banks
  • a SaaS product with per-user memory
  • internal tools that create banks dynamically by tenant

Migration notes

The easiest migration path is usually:

  1. start with single-bank mode
  2. prove the memory behavior is useful
  3. move to multi-bank mode only when your routing needs become real

Going the other way is also possible. If a multi-bank deployment turns out to be too flexible for the problem, pinning high-value clients back to single-bank mode often reduces confusion quickly.

Decision rule of thumb

Ask yourself one question:

Should this client ever need to choose a different bank at runtime?

  • If no, use single-bank mode.
  • If yes, use multi-bank mode.

That simple rule gets most setups right.

FAQ

Is multi-bank mode more powerful?

Yes, but more powerful is not always better. Extra flexibility only helps when you actually need it.

Does single-bank mode limit recall quality?

No. The recall engine is the same. What changes is the routing model.

Which mode is safer for teams?

Usually single-bank mode, unless the team is intentionally building multi-tenant or multi-workspace tooling.

Which mode is better for MCP gateways?

Often multi-bank mode, because gateways frequently sit in front of several workflows or teams.

Next Steps