Modes & Languages
Claude-Mem uses a flexible Mode System to adapt its behavior, observation types, and output language. This allows you to switch between different workflows (like coding vs. email investigation) or languages without reinstalling the plugin.What is a Mode?
A “mode” is a configuration profile that defines:- Observer Role: How Claude should analyze your work (e.g., “Software Engineer” vs. “Forensic Analyst”).
- Observation Types: Valid categories for memory (e.g., “Bug Fix”, “Feature” vs. “Person”, “Organization”).
- Concepts: Semantic tags for indexing (e.g., “Pattern”, “Trade-off”).
- Language: The language used for generating observations and summaries.
Configuration
Set the active mode using theCLAUDE_MEM_MODE setting in ~/.claude-mem/settings.json:
Creating a Custom Mode
Run/mode-creator to design a domain-specific note system through an interactive interview. It helps choose observation types and concept tags, writes and validates the mode, installs it under ~/.claude-mem/modes/, activates it, optionally configures Telegram alerts, restarts the worker, and verifies the active mode in startup context.
Custom modes in the data directory are durable across plugin upgrades. The worker searches user modes before bundled modes, while inherited custom modes can still use a bundled parent such as code:
Telegram alerts and session wrap-ups
Telegram has two separate delivery paths. A session wrap-up sends the latest stored session summary once the Claude Code session ends. Per-observation alerts are real-time notifications for matching observation types or concepts; they are now disabled by default, even when Telegram itself is enabled. Configure the new settings as strings in~/.claude-mem/settings.json:
CLAUDE_MEM_TELEGRAM_WRAPUPS_ENABLEDdefaults to"true", but no wrap-up can be sent until a route is configured.CLAUDE_MEM_TELEGRAM_OBSERVATION_ALERTS_ENABLEDdefaults to"false"; set it to"true"only when you want the existingCLAUDE_MEM_TELEGRAM_TRIGGER_TYPESorCLAUDE_MEM_TELEGRAM_TRIGGER_CONCEPTSalerts to resume.CLAUDE_MEM_TELEGRAM_WRAPUP_ROUTESdefaults to"{}"and contains a JSON object keyed by project name.
CLAUDE_MEM_TELEGRAM_WRAPUP_ROUTES:
chat_id; its bot_token can override CLAUDE_MEM_TELEGRAM_BOT_TOKEN, and key is an optional route label. CLAUDE_MEM_TELEGRAM_ENABLED remains the master switch for both paths. Route lookup first matches the project name exactly, then the parent name before the first / for worktrees. If neither route exists, claude-mem logs No wrap-up route for project and does not send anything—there is never a fallback to CLAUDE_MEM_TELEGRAM_CHAT_ID for a wrap-up.
Available Modes
Code Mode (Default)
The standard mode for software development. Captures bug fixes, features, refactors, and architectural decisions. ID:code
Code Mode Variants
Behavioral variants that change how the code mode operates:Multilingual Code Modes
Inherits all behavior from Code Mode but instructs Claude to generate all memory artifacts (titles, narratives, facts, summaries) in the target language.Email Investigation Mode
A specialized mode for analyzing email dumps (e.g., FOIA releases, corporate archives). Focuses on identifying entities, relationships, timeline events, and key topics. ID:email-investigation
Observation Types:
entity: Person, organization, or email addressrelationship: Connection between entitiestimeline-event: Time-stamped event in communication sequenceevidence: Supporting documentation or proofanomaly: Suspicious pattern or irregularityconclusion: Investigative finding or determination
Mode Inheritance
The system supports inheritance using the-- separator. For example, code--es means:
- Load
code(Parent) configuration. - Load
code--es(Child) configuration. - Merge Child into Parent (Child overrides).

