Skip to main content

Create LLM agents with long-term memory and custom tools

Project description

Letta (formerly MemGPT)

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

  • Letta Agent: run agents locally in your terminal, via the desktop app, or via channels like Slack
  • Letta Agent SDK: build agents into your applications

[!NOTE] This repository contains the legacy Letta server (the API server behind the Letta V1 API and SDKs). Active development has moved to the Letta Agent repo, and self-hosting an API server is now done via the App Server. See AGENTS.md for details.

Get started in the CLI

Requires Node.js 22.19+

  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 can 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 the latest Anthropic, OpenAI, and zAI models for best performance (see our model leaderboard for our rankings).

Get started with the Letta Agent SDK

Use the Letta Agent SDK (TypeScript) to build stateful agents into your own applications. The SDK can run agents on Constellation (Letta's agent cloud), fully locally on your machine, or against a self-hosted App Server.

Installation

npm install @letta-ai/letta-agent-sdk

Hello World example

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

import { LettaAgentClient } from "@letta-ai/letta-agent-sdk";

const client = new LettaAgentClient({
  backend: "cloud",
  apiKey: process.env.LETTA_API_KEY,
});

// Create your agent
const agentId = await client.createAgent({
  model: "anthropic/claude-opus-4-8",
  human:
    "Name: Timber. Status: dog. Occupation: building Letta, infrastructure to democratize self-improving superintelligence",
  persona:
    "I am a self-improving superintelligence. Timber is my best friend and collaborator.",
});

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

// Send your agent a message and stream the response
await using session = client.resumeSession(agentId);

await session.send("What do you know about me?");
for await (const message of session.stream()) {
  if (message.type === "assistant") console.log(message.content);
}

To run the same agent fully locally (the SDK spawns Letta Code on your machine as a subprocess), swap out the client:

const client = new LettaAgentClient({ backend: "local" });

Letta V1 SDK

The previous-generation V1 SDKs (@letta-ai/letta-client for TypeScript, letta-client for Python) target the Letta API directly and are still available (see the client SDKs). We recommend the Agent SDK for new projects.

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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

letta_nightly-0.16.8.dev20260708111733.tar.gz (8.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file letta_nightly-0.16.8.dev20260708111733.tar.gz.

File metadata

  • Download URL: letta_nightly-0.16.8.dev20260708111733.tar.gz
  • Upload date:
  • Size: 8.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for letta_nightly-0.16.8.dev20260708111733.tar.gz
Algorithm Hash digest
SHA256 f0e77c4769ec1f82e69bb3cd43005540350d99af024f2bbf166a020c06d9ef00
MD5 b57c6ccf239f2d77d556872a6c25f335
BLAKE2b-256 4b8be1969d551a562937302b145e572acea0cffdee7001dfa24b30adbad7ff6d

See more details on using hashes here.

File details

Details for the file letta_nightly-0.16.8.dev20260708111733-py3-none-any.whl.

File metadata

  • Download URL: letta_nightly-0.16.8.dev20260708111733-py3-none-any.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for letta_nightly-0.16.8.dev20260708111733-py3-none-any.whl
Algorithm Hash digest
SHA256 a8d5af6a7a8a09998cb39c97639969bcd73d076ab4bae94f3f7181630bc1c5d9
MD5 0d39ddd3cb8ffae6275df8883596964c
BLAKE2b-256 cb6bc62504e40b435d6c1dd8b2d5dd9000be662d76b6c59696b99152ff177b6f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page