freshcrate
Skin:/
Home > AI Agents > letta

letta

Letta is the platform for building stateful agents: AI with advanced memory that can learn and self-improve over time.

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

Letta is the platform for building stateful agents: AI with advanced memory that can learn and self-improve over time.

README

Letta (formerly MemGPT)

Build AI with advanced memory that can learn and self-improve over time.

  • Letta Code: run agents locally in your terminal
  • Letta API: build agents into your applications

Get started in the CLI

Requires Node.js 18+

  1. Install the Letta Code CLI tool: npm install -g @letta-ai/letta-code
  2. Run letta in your terminal to launch an agent with memory running on your local computer

When running the CLI tool, your agent help you code and do any task you can do on your computer.

Letta Code supports skills and subagents, and bundles pre-built skills/subagents for advanced memory and continual learning. Letta is fully model-agnostic, though we recommend Opus 4.5 and GPT-5.2 for best performance (see our model leaderboard for our rankings).

Get started with the Letta API

Use the Letta API to integrate stateful agents into your own applications. Letta has a full-featured agents API, and a Python and Typescript SDK (view our API reference).

Installation

TypeScript / Node.js:

npm install @letta-ai/letta-client

Python:

pip install letta-client

Hello World example

Below is a quick example of creating a stateful agent and sending it a message (requires a Letta API key). See the full quickstart guide for complete documentation.

TypeScript:

import Letta from "@letta-ai/letta-client";

const client = new Letta({ apiKey: process.env.LETTA_API_KEY });

// Create your agent
const agentState = await client.agents.create({
  model: "openai/gpt-5.2",
  memory_blocks: [
    {
      label: "human",
      value:
        "Name: Timber. Status: dog. Occupation: building Letta, infrastructure to democratize self-improving superintelligence",
    },
    {
      label: "persona",
      value:
        "I am a self-improving superintelligence. Timber is my best friend and collaborator.",
    },
  ],
  tools: ["web_search", "fetch_webpage"],
});

console.log("Agent created with ID:", agentState.id);

// Send your agent a message
const response = await client.agents.messages.create(agentState.id, {
  input: "What do you know about me?",
});

for (const message of response.messages) {
  console.log(message);
}

Python:

from letta_client import Letta
import os

client = Letta(api_key=os.getenv("LETTA_API_KEY"))

# Create your agent
agent_state = client.agents.create(
    model="openai/gpt-5.2",
    memory_blocks=[
        {
          "label": "human",
          "value": "Name: Timber. Status: dog. Occupation: building Letta, infrastructure to democratize self-improving superintelligence"
        },
        {
          "label": "persona",
          "value": "I am a self-improving superintelligence. Timber is my best friend and collaborator."
        }
    ],
    tools=["web_search", "fetch_webpage"]
)

print(f"Agent created with ID: {agent_state.id}")

# Send your agent a message
response = client.agents.messages.create(
    agent_id=agent_state.id,
    input="What do you know about me?"
)

for message in response.messages:
    print(message)

Contributing

Letta is an open source project built by over a hundred contributors from around the world. There are many ways to get involved in the Letta OSS project!


Legal notices: By using Letta and related Letta services (such as the Letta endpoint or hosted service), you are agreeing to our privacy policy and terms of service.

Release History

VersionChangesUrgencyDate
0.16.8## What's Changed * fix: workflows update by @cpacker in https://github.com/letta-ai/letta/pull/3292 * fix(security): use JSON instead of pickle for sandbox->server tool result transport by @kianjones9 in https://github.com/letta-ai/letta/pull/3343 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.16.7...0.16.8High5/14/2026
0.16.7# Letta Server 0.16.7 Release Notes **173 commits since 0.16.6** | Released March 31, 2026 ## Highlights **Self-hosted users: this is a big upgrade.** The default global context window is raised from 32k to 128k, the context window reset bug (LET-7991) is fixed, and compaction has been overhauled. If you've been running curl commands to patch your config after every ADE load, most of that pain should be gone. ## Breaking Changes - **Block limits are no longer enforced** -- block lMedium3/31/2026
0.16.6## Highlights - Expanded Conversations API support for **default conversation / agent-direct mode**. - New conversations now initialize with a **compiled system message at creation time**. - Fixed `model_settings.max_output_tokens` default behavior so it **does not silently override** existing `max_tokens` unless explicitly set. ## Conversations API updates - Added support for `conversation_id="default"` + `agent_id` across conversation endpoints (send/list/cancel/compact/stream retrieve)Low3/4/2026
0.16.5## What's Changed * chore: bump version 0.16.5 by @carenthomas in https://github.com/letta-ai/letta/pull/3202 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.16.4...0.16.5Low2/24/2026
0.16.4## What's Changed * fix: update gh templates by @cpacker in https://github.com/letta-ai/letta/pull/3155 * chore: release 0.16.3 by @sarahwooders in https://github.com/letta-ai/letta/pull/3158 * chore: bump v0.16.4 by @carenthomas in https://github.com/letta-ai/letta/pull/3168 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.16.2...0.16.4Low1/29/2026
0.16.2## What's Changed * docs: update README.md by @cpacker in https://github.com/letta-ai/letta/pull/3110 * Update contributing.md with corrected local setup steps by @neversettle17-101 in https://github.com/letta-ai/letta/pull/3123 * chore: bump version 0.16.2 by @carenthomas in https://github.com/letta-ai/letta/pull/3140 ## New Contributors * @neversettle17-101 made their first contribution in https://github.com/letta-ai/letta/pull/3123 **Full Changelog**: https://github.com/letta-ai/letLow1/12/2026
0.16.1## What's Changed * Correct provider name for openai-proxy in LLMConfig by @SootyOwl in https://github.com/letta-ai/letta/pull/3097 * chore: bump v0.16.1 by @carenthomas in https://github.com/letta-ai/letta/pull/3107 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.16.0...0.16.1Low12/18/2025
0.16.0## What's Changed * Updated readme with actual argument by @Godofnothing in https://github.com/letta-ai/letta/pull/3083 * fix: Implement architecture-specific OTEL installation logic by @SootyOwl in https://github.com/letta-ai/letta/pull/3061 * chore: bump v0.16.0 by @carenthomas in https://github.com/letta-ai/letta/pull/3095 ## New Contributors * @Godofnothing made their first contribution in https://github.com/letta-ai/letta/pull/3083 * @SootyOwl made their first contribution in https:Low12/15/2025
0.15.1## What's Changed * chore: bump version 0.15.1 by @carenthomas in https://github.com/letta-ai/letta/pull/3082 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.15.0...0.15.1Low11/26/2025
0.15.0## What's Changed * Add context windows for grok-4 models by @runtimeBob in https://github.com/letta-ai/letta/pull/3043 * chore: bump version 0.15.0 by @carenthomas in https://github.com/letta-ai/letta/pull/3077 ## New Contributors * @runtimeBob made their first contribution in https://github.com/letta-ai/letta/pull/3043 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.14.0...0.15.0Low11/25/2025
0.14.0## What's Changed * chore: bump version 0.14.0 by @carenthomas in https://github.com/letta-ai/letta/pull/3067 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.13.0...0.14.0Low11/14/2025
0.13.0## What's Changed * chore: clean up docs by @carenthomas in https://github.com/letta-ai/letta/pull/3031 * feat: add haiku 4.5 as reasoning model by @AriWebb in https://github.com/letta-ai/letta/pull/3038 * chore: bump version 0.13.0 by @carenthomas in https://github.com/letta-ai/letta/pull/3050 ## New Contributors * @AriWebb made their first contribution in https://github.com/letta-ai/letta/pull/3038 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.12.1...0.13.0Low10/24/2025
0.12.1## Major Features ### New Agent Architecture: `letta_v1_agent` The new recommended agent architecture with significant improvements over the legacy agent system. What's Different: * No `send_message` tool required * Works with any chat model, including non-tool-calling models * No heartbeat system * Simpler base system prompt - agentic control loop understanding is baked into modern LLMs * Follows standard tool calling patterns (auto mode) for broader compatibility Provider SuppLow10/9/2025
0.12.0Release 0.12.0Low10/9/2025
0.11.7## 🧑 Human-in-the-Loop (HITL) Support This release introduces human-in-the-loop functionality for tool execution, allowing users to configure certain tools are requiring approvals or specify per-agent requirements. This feature introduces two new `LettaMessage` types: * `ApprovalRequestMessage` (for the agent to request an approval) * `ApprovalResponseMessage` (for the client to either provide or deny an approval) Example of approving a tool call: ```python response = client.agentsLow9/4/2025
0.11.6Release 0.11.6Low8/27/2025
0.11.5## What's Changed * feat: add background mode for message streaming by @carenthomas in https://github.com/letta-ai/letta/pull/2777 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.11.4...0.11.5Low8/26/2025
0.11.4## What's Changed * feat: deprecate legacy paths for azure and together by @carenthomas in https://github.com/letta-ai/letta/pull/3987 * feat: introduce asyncio shield to prevent stream timeouts by @carenthomas in https://github.com/letta-ai/letta/pull/3992 * feat: record step metrics to table by @@jnjpng in https://github.com/letta-ai/letta/pull/3887 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.11.3...0.11.4Low8/20/2025
0.11.3## What's Changed * mv dictconfig out of getlogger by @andrewrfitz in https://github.com/letta-ai/letta/pull/2759 * chore: bump v0.11.3 by @carenthomas in https://github.com/letta-ai/letta/pull/2760 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.11.2...0.11.3Low8/12/2025
0.11.2## What's Changed * fix: incorrect URL for Ollama embeddings endpoint by @antondevson in https://github.com/letta-ai/letta/pull/2750 * fix: all model types returned from ollama provider by @antondevson in https://github.com/letta-ai/letta/pull/2744 * feat: Add max_steps parameter to agent export by @mattzh72 in https://github.com/letta-ai/letta/pull/3828 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.11.1...0.11.2Low8/8/2025
0.11.1This release adds support for the latest model releases, and makes improvements to base memory and file tools. ## 🧠 Improved LLM model support - Added support for Claude Opus 4.1 and GPT-5 models ([#3806](https://github.com/letta-ai/letta/commit/5fda204842c7c4c0ead8721e272f426ac9695c8b)) - Added `minimal` option for `reasoning_effort` parameter in to `LLMConfig` ([#3816](https://github.com/letta-ai/letta/commit/2d1b78081f6226f442e616d8fe7bf9fad934d519)) ## 🔨 Built-in tool improvementLow8/8/2025
0.11.0## âš ī¸ Legacy LocalClient and RestClient fully deprecated * Legacy clients are fully removed moving forward and replaced by the new Letta sdk clients (python and typescript supported) ## â›Šī¸ Jinja Templating optimizations * Jinja template engine is now offloaded to the thread pool to minimize CPU-bound operations blocking the async event loop * Removed redundant rendering operations in critical paths ## 📈 Add Signoz integration for traces exporting * You can configure exporting otel traLow8/7/2025
0.10.0This release introduces a new `LettaPing` message type for maintaining long streaming connections, MCP OAuth support, and various bugfixes and performance improvements. ## 🏓 `LettaPing` message type for long-running streaming requests To avoid connection terminations during long running tools, Letta will send a `LettaPing` message at a specific interval - currently 90 seconds ([#3651](https://github.com/letta-ai/letta/commit/215cdeaa0b332a2569a1b66c9d0a78970be79b78), [#3652](https://githuLow8/1/2025
0.9.1## What's Changed * Various bug fixes for new filesystem feature * Asyncify jinja template rendering in core routes * Add reverse index for agent tags **Full Changelog**: https://github.com/letta-ai/letta/compare/0.9.0...0.9.1Low7/27/2025
0.9.0# v0.9.0 ## Letta Filesystem We are introducing a big revamp in how Letta handles uploaded documents like PDFs! Letta Filesystem allows you to create folders and files (uploaded documents) that contextualize your agent's responses -- think Claude Projects, but transparent and controllable. ```python # upload a file into the folder job = client.folders.files.upload( folder_id=folder.id, file=open("my_file.txt", "rb") ) # wait until the job is completed while True: jobLow7/24/2025
0.8.17## What's Changed * chore: bump v0.8.17 by @carenthomas in https://github.com/letta-ai/letta/pull/2725 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.8.16...0.8.17Low7/21/2025
0.8.16## What's Changed * chore: bump v0.8.16 by @carenthomas in https://github.com/letta-ai/letta/pull/2724 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.8.15...0.8.16Low7/21/2025
0.8.15## What's Changed * chore: bump v0.8.15 by @carenthomas in https://github.com/letta-ai/letta/pull/2721 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.8.14...0.8.15Low7/15/2025
0.8.14## What's Changed * chore: bump version 0.8.14 by @carenthomas in https://github.com/letta-ai/letta/pull/2720 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.8.13...0.8.14Low7/14/2025
0.8.13## What's Changed * chore: bump version 0.8.13 by @carenthomas in https://github.com/letta-ai/letta/pull/2718 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.8.12...0.8.13Low7/10/2025
0.8.12## What's Changed * chore: bump version 0.8.12 by @carenthomas in https://github.com/letta-ai/letta/pull/2712 * chore: add traces to polling by @carenthomas in https://github.com/letta-ai/letta/pull/2713 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.8.11...0.8.12Low7/9/2025
0.8.11## What's Changed * chore: bump letta version 0.8.11 by @carenthomas in https://github.com/letta-ai/letta/pull/2711 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.8.10...0.8.11Low7/8/2025
0.8.10## What's Changed * chore: 0.8.10 release by @sarahwooders in https://github.com/letta-ai/letta/pull/2710 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.8.9...0.8.10Low7/7/2025
0.8.9## What's Changed * support different providers for summarization * improvements to file management * support agent loop run cancellation * support MCP custom headers * bug fixes for files, blocks, tools, error handling **Full Changelog**: https://github.com/letta-ai/letta/compare/0.8.8...0.8.9Low7/3/2025
0.8.8## :thumbsup: Feedback APIs You can now add feedback (positive/negative) to steps, and also list available step feedback via the APIs. See the reference [here](https://docs.letta.com/api-reference/steps/add-feedback) ## :bug: Bugfixes * Fixes to Anthropic streaming * Enable updating an existing agents timezone * CSV support for filesLow6/29/2025
0.8.7- Add react and workflow agents - Fixes for batch agents - Add testing mcp - Some tools marked as deprecated - Add step feedbackLow6/27/2025
0.8.6- Fix bedrock integration - Add custom timezonesLow6/25/2025
0.8.5Fixes to sources + files Low6/19/2025
0.8.4* Streamable HTTP support and authenticated MCP support * Fixes to OpenAI o-series models * Bugfixes to Anthropic streamingLow6/15/2025
0.8.3Fixes to stdio and sse MCP connectors Low6/7/2025
0.8.2* Patches to MCP integrationLow6/6/2025
0.8.1Fixes to sqlite Low6/6/2025
0.8.0* Fixes to Ollama * Fixes to token counters (only using Anthropic when enabled) * Official deprecation of legacy clients Low6/4/2025
0.7.29## What's Changed * chore: bump version 0.7.29 by @carenthomas in https://github.com/letta-ai/letta/pull/2665 * feat: add configurable batch size and lookback by @carenthomas in https://github.com/letta-ai/letta/pull/2666 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.7.28...0.7.29Low6/1/2025
0.7.28## What's Changed * feat: Add performance improvements by @mattzh72 in https://github.com/letta-ai/letta/pull/2662 * chore: bump version 0.7.28 by @carenthomas in https://github.com/letta-ai/letta/pull/2663 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.7.27...0.7.28Low5/28/2025
0.7.27## What's Changed * chore: bump to 0.7.27 with bugfixes by @sarahwooders in https://github.com/letta-ai/letta/pull/2660 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.7.26...0.7.27Low5/25/2025
0.7.26## What's Changed * fix: asyncify batch sandbox creation by @carenthomas in https://github.com/letta-ai/letta/pull/2659 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.7.25...0.7.26Low5/23/2025
0.7.25## What's Changed * chore: bump version 0.7.25 by @carenthomas in https://github.com/letta-ai/letta/pull/2658 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.7.24...0.7.25Low5/23/2025
0.7.24## What's Changed * fix: patch db init bug by @carenthomas in https://github.com/letta-ai/letta/pull/2657 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.7.23...0.7.24Low5/23/2025
0.7.23## What's Changed * chore: bump version 0.7.23 by @carenthomas in https://github.com/letta-ai/letta/pull/2656 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.7.22...0.7.23Low5/23/2025
0.7.22## What's Changed * chore: bump version 0.7.22 by @carenthomas in https://github.com/letta-ai/letta/pull/2655 **Full Changelog**: https://github.com/letta-ai/letta/compare/0.7.21...0.7.22Low5/23/2025

Dependencies & License Audit

Loading dependencies...

Similar Packages

eternegoThe Eternego codebasev0.15.1
claude-ruby-grape-railsClaude Code plugin for Ruby, Rails, Grape, PostgreSQL, Redis, and Sidekiq developmentv1.16.13
ComfyUI-LoaderUtils🔄 Optimize model loading in ComfyUI with flexible node connections and controlled sequences for better performance and memory management.main@2026-06-06
Paper2Slides📊 Transform research papers into professional slides and posters seamlessly and quickly with Paper2Slides, saving you valuable time.main@2026-06-06
ai-notes-apiNo descriptionmaster@2026-06-06

More from letta-ai

letta-codeThe memory-first coding agent

More in AI Agents

@blockrun/franklinFranklin — The AI agent with a wallet. Spends USDC autonomously to get real work done. Pay per action, no subscriptions.
hermes-agentThe agent that grows with you
awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.
e2bE2B SDK that give agents cloud environments