| name | slm-profile |
| description | Workspace isolation and runtime profile switching for SuperLocalMemory. Each profile is a fully independent memory namespace — separate facts, code graphs, and tool sets. Use switch_profile (MCP, requires code/full/power profile) to change the active workspace without restarting. Check the active profile with slm status. Required when working across multiple projects, clients, or tenants. |
| when_to_use | - "Switch to my work profile"
- "Use the code profile for this session"
- "What profile am I currently in?"
- "I need mesh tools — switch to full profile"
- "Load the devops workspace"
- Multi-project workflows needing memory isolation
- Switching between personal and team workspaces
- Enabling additional MCP tools by activating a richer profile
|
| allowed-tools | switch_profile, Bash |
slm-profile — Workspace Isolation and Profile Switching
A profile is a fully isolated memory workspace. Each profile has its own:
- Memory facts (nothing bleeds across profiles by default)
- Code graph index (separate per repo/project)
- Active MCP tool set (determined by profile tier)
- Retention policy and decay settings
Profiles are the right tool when you have genuinely separate contexts: a personal
project, a client engagement, a production vs staging environment.
Available profiles and their tool sets
| Profile | Tools | When to use |
|---|
core | 18 tools — remember, recall, search, session, optimize | Minimal footprint, no code tools |
code | 34 tools — core + portable Brain evidence + code graph + profile switching + bounded loops | Default for IDE/coding agents |
full | 50 tools — code + all memory ops + mesh + bounded loops | Multi-session, team workflows |
power | 62 tools — full + governance + behavioral tools | Enterprise, admin, audit use cases |
mesh | 8 tools — mesh coordination only | Lightweight cross-session signalling |
The profile is set at MCP server startup via SLM_MCP_PROFILE in the MCP config.
switch_profile lets you change it at runtime without a restart.
Checking the active profile
slm status --json
The profile field in the output is the currently active profile name.
Or via MCP (works in any profile):
slm status
Switching profiles at runtime (v3.8.0+)
switch_profile is available in code, full, and power profiles.
switch_profile(
profile: str, # one of: "core", "code", "full", "power", "mesh"
)
Example: activate full profile to access mesh tools
# You started in code profile but need mesh coordination
switch_profile(profile="full")
# Now mesh_peers, mesh_send, mesh_inbox, etc. are available
mesh_peers()
Example: switch workspaces
# Switch from personal to work workspace
switch_profile(profile="work-project")
Wait — profile names and workspace names are distinct concepts:
- Profile tier (
core, code, full, power, mesh) controls which MCP
tools are registered.
- Workspace / data directory (
SLM_DATA_DIR) controls which memory database
is used.
switch_profile changes the tool tier within the current workspace. To
switch to a completely different memory database (workspace), you need to change
SLM_DATA_DIR — this requires restarting the MCP server or using a separately
configured MCP server instance.
Configuring the initial profile
In your .mcp.json (Claude Code) or .codex/config.toml (Codex):
"env": {
"SLM_MCP_PROFILE": "code",
"SLM_AGENT_ID": "codex",
"SLM_DATA_DIR": "~/.superlocalmemory"
}
Profile aliases from older versions still resolve: code20 → code,
full38 → full, power50 → power. Stale configs get a startup warning
but continue to work.
Profile isolation guarantees
recall returns only memories in the active profile (plus opt-in shared/global
facts — see slm-scope).
remember writes to the active profile only unless scope="shared"/"global".
- Code graph tools (
build_code_graph, get_blast_radius, etc.) index into the
active profile's graph store.
- KV cache entries are namespaced per profile — switching profiles gives you a
clean cache.
Multiple concurrent profiles
You can run multiple SLM MCP server instances simultaneously, each pointed at a
different SLM_DATA_DIR, to serve different workspaces in the same IDE session.
Name them differently in your MCP config (e.g. superlocalmemory-personal and
superlocalmemory-work) and route tool calls to the appropriate server.
Related skills
slm-scope — opt-in fact sharing across profiles (personal/shared/global)
slm-graph — code-graph tools available in code/full/power profiles
slm-mesh — mesh tools available in full/power/mesh profiles
slm-status — check active profile name and tool inventory
slm-governance — enterprise role-based access to profiles
SuperLocalMemory v4.1.11 · Qualixar · AGPL-3.0-or-later