---
title: "Modes & Languages"
description: "Configure claude-recall behavior and language with the Mode System"
---
# Modes & Languages
claude-recall 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_RECALL_MODE` setting in `~/.claude-recall/settings.json`:
```json
{
"CLAUDE_RECALL_MODE": "code--es"
}
```
Or via environment variable:
```bash
export CLAUDE_RECALL_MODE="code--fr"
```
## 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 |
| **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.