Appearance
Configuration Reference
FreshFile Locations
| Path | Purpose |
|---|---|
~/.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.json | Channel credentials and policies |
~/.letta/channels/routing.yaml | Chat-to-agent bindings |
~/.letta/channels/pairing.yaml | Pending/approved pairings |
.letta/agents/ | Project-scoped subagent definitions |
.agents/skills/ | Project-scoped skills (preferred) |
.skills/ | Project-scoped skills (legacy) |
System Prompt Presets
| Preset | Model Target | Description |
|---|---|---|
default | General | Standard coding assistant |
letta-claude | Claude | Optimized for Anthropic Claude |
letta-codex | OpenAI Codex | Optimized for Codex models |
letta-gemini | Google Gemini | Optimized 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
| Label | Purpose |
|---|---|
persona | Agent identity and personality |
human | User profile and preferences |
project | Current project context |
style | Code 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
| Subagent | Default Model |
|---|---|
explore | auto-fast |
fork | inherit |
general-purpose | auto |
history-analyzer | auto |
memory | auto |
init | auto-fast |
recall | auto-fast |
reflection | auto |
DM Policies (Channels)
| Policy | Description |
|---|---|
pairing | One-time codes requiring operator approval |
allowlist | Pre-configured user IDs only |
open | Anyone can message; routes auto-provision |
Environment Variables
| Variable | Purpose |
|---|---|
LETTA_CONVERSATION_ID | Default conversation for scheduled tasks |