---
title: "Modes & Languages"
description: "Configure Claude-Mem behavior and language with the Mode System"
---

# 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:
1.  **Observer Role**: How Claude should analyze your work (e.g., "Software Engineer" vs. "Forensic Analyst").
2.  **Observation Types**: Valid categories for memory (e.g., "Bug Fix", "Feature" vs. "Person", "Organization").
3.  **Concepts**: Semantic tags for indexing (e.g., "Pattern", "Trade-off").
4.  **Language**: The language used for generating observations and summaries.

## Configuration

Set the active mode using the `CLAUDE_MEM_MODE` setting in `~/.claude-mem/settings.json`:

```json
{
  "CLAUDE_MEM_MODE": "code--es"
}
```

Or via environment variable:

```bash
export CLAUDE_MEM_MODE="code--fr"
```

The active mode is shown in the startup context injected into each new session, for example:

```text
Mode: Code Development (code)
```

## 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`:

```text
~/.claude-mem/modes/code--architecture-practice.json
```

Avoid editing files inside the plugin cache because a plugin update can replace them.

## 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:

| Variant | Mode ID | Description |
|---------|---------|-------------|
| **Chill** | `code--chill` | Produces fewer observations. Only records things "painful to rediscover" - shipped features, architectural decisions, and non-obvious gotchas. Skips routine work and obvious changes. |

### 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.

| Language | Mode ID | Native Name |
|----------|---------|-------------|
| **Arabic** | `code--ar` | العربية |
| **Bengali** | `code--bn` | বাংলা |
| **Chinese** | `code--zh` | 中文 |
| **Czech** | `code--cs` | Čeština |
| **Danish** | `code--da` | Dansk |
| **Dutch** | `code--nl` | Nederlands |
| **Finnish** | `code--fi` | Suomi |
| **French** | `code--fr` | Français |
| **German** | `code--de` | Deutsch |
| **Greek** | `code--el` | Ελληνικά |
| **Hebrew** | `code--he` | עברית |
| **Hindi** | `code--hi` | हिन्दी |
| **Hungarian** | `code--hu` | Magyar |
| **Indonesian** | `code--id` | Bahasa Indonesia |
| **Urdu** | `code--ur` | اردو |
| **Italian** | `code--it` | Italiano |
| **Japanese** | `code--ja` | 日本語 |
| **Korean** | `code--ko` | 한국어 |
| **Norwegian** | `code--no` | Norsk |
| **Polish** | `code--pl` | Polski |
| **Portuguese (Brazil)** | `code--pt-br` | Português Brasileiro |
| **Romanian** | `code--ro` | Română |
| **Russian** | `code--ru` | Русский |
| **Spanish** | `code--es` | Español |
| **Swedish** | `code--sv` | Svenska |
| **Thai** | `code--th` | ภาษาไทย |
| **Turkish** | `code--tr` | Türkçe |
| **Ukrainian** | `code--uk` | Українська |
| **Vietnamese** | `code--vi` | Tiếng Việt |

### 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 address
- `relationship`: Connection between entities
- `timeline-event`: Time-stamped event in communication sequence
- `evidence`: Supporting documentation or proof
- `anomaly`: Suspicious pattern or irregularity
- `conclusion`: Investigative finding or determination

## Mode Inheritance

The system supports inheritance using the `--` separator. For example, `code--es` means:
1.  Load `code` (Parent) configuration.
2.  Load `code--es` (Child) configuration.
3.  Merge Child into Parent (Child overrides).

This allows for lightweight "remix" modes that only change specific aspects (like the language prompt) while keeping the core definitions intact.
