letta/letta-configuration/SKILL.md
Configure LLM models and providers for Letta agents and servers. Use when setting model handles, adjusting temperature/tokens, configuring provider-specific settings, setting up BYOK providers, or configuring self-hosted deployments with environment variables.
npx skillsauth add letta-ai/skills letta-configurationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Complete guide for configuring models on agents and providers on servers.
Agent-level (model configuration):
Server-level (provider configuration):
Not covered here: Model selection advice (which model to choose) - see agent-development skill.
Models use a provider/model-name format:
| Provider | Handle Prefix | Example |
|----------|---------------|---------|
| OpenAI | openai/ | openai/gpt-4o, openai/gpt-4o-mini |
| Anthropic | anthropic/ | anthropic/claude-sonnet-4-5-20250929 |
| Google AI | google_ai/ | google_ai/gemini-2.0-flash |
| Azure OpenAI | azure/ | azure/gpt-4o |
| AWS Bedrock | bedrock/ | bedrock/anthropic.claude-3-5-sonnet |
| Groq | groq/ | groq/llama-3.3-70b-versatile |
| Together | together/ | together/meta-llama/Llama-3-70b |
| OpenRouter | openrouter/ | openrouter/anthropic/claude-3.5-sonnet |
| Ollama (local) | ollama/ | ollama/llama3.2 |
from letta_client import Letta
client = Letta(api_key="your-api-key")
agent = client.agents.create(
model="openai/gpt-4o",
model_settings={
"provider_type": "openai", # Required - must match model provider
"temperature": 0.7,
"max_output_tokens": 4096,
},
context_window_limit=128000
)
| Setting | Type | Description |
|---------|------|-------------|
| provider_type | string | Required. Must match model provider (openai, anthropic, google_ai, etc.) |
| temperature | float | Controls randomness (0.0-2.0). Lower = more deterministic. |
| max_output_tokens | int | Maximum tokens in the response. |
client.agents.update(
agent_id=agent.id,
model="anthropic/claude-sonnet-4-5-20250929",
model_settings={"provider_type": "anthropic", "temperature": 0.5},
context_window_limit=64000
)
Note: Agents retain memory and tools when changing models.
For OpenAI reasoning models and Anthropic extended thinking, see references/provider-settings.md.
# Add provider via API
python scripts/setup_provider.py --type openai --api-key sk-...
# Generate .env for Docker
python scripts/generate_env.py --providers openai,anthropic,ollama
# Validate credentials
python scripts/validate_provider.py --provider-id provider-xxx
# Via REST API
curl -X POST http://localhost:8283/v1/providers \
-H "Content-Type: application/json" \
-d '{
"name": "My OpenAI",
"provider_type": "openai",
"api_key": "sk-your-key-here"
}'
openai, anthropic, azure, google_ai, google_vertex, ollama, groq, deepseek, xai, together, mistral, cerebras, bedrock, vllm, sglang, hugging_face, lmstudio_openai
For detailed configuration of each provider, see:
references/common_providers.md - OpenAI, Anthropic, Azure, Googlereferences/self_hosted_providers.md - Ollama, vLLM, LM Studioreferences/all_providers.md - Complete referencereferences/environment_variables.md - Docker/self-hosted setupBefore configuring:
provider/model-name formatmodel_settings includes required provider_type fieldcontext_window_limit is set at agent level, not in model_settingsModel configuration:
scripts/basic_config.py - Basic model configurationscripts/basic_config.ts - TypeScript equivalentscripts/change_model.py - Changing models on existing agentsscripts/provider_specific.py - OpenAI reasoning, Anthropic thinkingProvider configuration:
scripts/setup_provider.py - Add providers via REST APIscripts/validate_provider.py - Check provider credentialsscripts/generate_env.py - Generate .env for Dockertools
Test any GUI app or change on a Daytona Windows remote desktop sandbox. Use to launch a GUI program, sync a local project, take a screenshot, record a video, or share a clickable live-desktop link with a teammate. Generic — the only dependency is Daytona. For Linux, use remote-desktop-testing-linux.
tools
Test any GUI app or change on a Daytona Linux (Ubuntu xfce4 + noVNC) remote desktop sandbox. Use to launch a GUI program, sync a local project, take a screenshot, record a video, or share a clickable live-desktop link with a teammate. Generic — the only dependency is Daytona. For Windows, use remote-desktop-testing-windows.
testing
Configures Letta agents' own runtime behavior, including model, context window, system prompt, reasoning, conversation overrides, compaction settings, and compaction prompts. Use when an agent or user asks to self-modify, tune summarization/compaction, change identity/system instructions, adjust model settings, or test conversation-scoped overrides.
development
Sets Letta Desktop and Letta Code agent profile images by writing profile.png into an agent MemFS repository. Use when the user asks to add, change, generate, or fix an agent avatar, profile picture, profile image, or Desktop agent photo.