Skip to content

Configuration Reference

Fresh

File Locations

PathPurpose
~/.letta/Global Letta Code data directory
~/.letta/agents/<id>/Per-agent data and config
~/.letta/agents/<id>/memory/Git-backed MemFS storage
~/.letta/agents/<id>/skills/Agent-scoped skills
~/.letta/skills/Global skills
~/.letta/channels/Channel configuration
~/.letta/channels/accounts.jsonChannel credentials and policies
~/.letta/channels/routing.yamlChat-to-agent bindings
~/.letta/channels/pairing.yamlPending/approved pairings
.letta/agents/Project-scoped subagent definitions
.agents/skills/Project-scoped skills (preferred)
.skills/Project-scoped skills (legacy)

System Prompt Presets

PresetModel TargetDescription
defaultGeneralStandard coding assistant
letta-claudeClaudeOptimized for Anthropic Claude
letta-codexOpenAI CodexOptimized for Codex models
letta-geminiGoogle GeminiOptimized for Gemini models

Minimal model-specific variants are also available for each preset.

Memory Block Configuration

MemFS File Format

markdown
---
description: "Brief description of this memory block"
limit: 50000
---

Content of the memory block goes here.

Common Memory Block Labels

LabelPurpose
personaAgent identity and personality
humanUser profile and preferences
projectCurrent project context
styleCode style preferences

SDK Configuration

Agent Creation Options

typescript
interface AgentOptions {
  memoryBlocks?: MemoryBlock[] | 'preset';
  systemPrompt?: string;     // Preset name or custom string
  model?: string;            // Model identifier
  embedding?: string;        // Embedding model
}

Session Runtime Options

typescript
interface SessionOptions {
  allowedTools?: string[];       // Tool whitelist
  disallowedTools?: string[];    // Tool blacklist
  permissionMode?: string;       // 'acceptEdits' | 'plan'
  canUseTool?: (tool) => boolean; // Custom callback
  workingDirectory?: string;     // Agent CWD
  reflection?: boolean;          // Enable reflection
  sleeptime?: SleeptimeConfig;   // Reflection config
  memfs?: boolean;               // Toggle MemFS
}

Subagent Frontmatter

yaml
---
name: my-subagent          # Required: lowercase, starts with letter
description: What it does  # Required: shown in Task tool
tools: Read, Glob, Grep    # Optional: comma-separated or 'all'
model: sonnet              # Optional: haiku, sonnet, opus
memoryBlocks: human, persona # Optional: 'all', 'none', or list
skills: skill-name          # Optional: auto-load skills
---

Built-in Subagent Models

SubagentDefault Model
exploreauto-fast
forkinherit
general-purposeauto
history-analyzerauto
memoryauto
initauto-fast
recallauto-fast
reflectionauto

DM Policies (Channels)

PolicyDescription
pairingOne-time codes requiring operator approval
allowlistPre-configured user IDs only
openAnyone can message; routes auto-provision

Environment Variables

VariablePurpose
LETTA_CONVERSATION_IDDefault conversation for scheduled tasks