letta

agent
Security Audit
Fail
Health Pass
  • License — License: Apache-2.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 22717 GitHub stars
Code Fail
  • rm -rf — Recursive force deletion command in .github/workflows/alembic-validation.yml
Permissions Pass
  • Permissions — No dangerous permissions requested
Purpose

This tool is a platform and SDK for building stateful AI agents equipped with persistent memory that can learn and self-improve over time.

Security Assessment

Overall Risk: Medium. The platform allows agents to learn and self-improve, and explicitly helps users "do any task you can do on your computer," which implies high local system access and shell execution capabilities. It makes external network requests, primarily to fetch web pages and route API calls to third-party LLM providers. Authentication relies on user-provided API keys (e.g., `LETTA_API_KEY`) rather than hardcoded secrets. However, the automated rule-based scan failed due to a recursive force deletion command (`rm -rf`) found inside a GitHub Actions workflow file (`alembic-validation.yml`). While this is common in CI/CD pipelines for cleaning up directories, it should be visually verified by developers to ensure it is safely scoped and cannot be exploited via pipeline injection.

Quality Assessment

The project exhibits strong health and community trust. It is highly popular with over 22,000 GitHub stars, indicating widespread adoption and heavy community scrutiny. It is actively maintained, with the most recent code push occurring less than a month ago. Furthermore, it uses the standard Apache-2.0 license, which clearly grants permissions for commercial use, modification, and distribution without heavy legal restrictions. No dangerous runtime permissions were flagged during the scan.

Verdict

Use with caution: While the project is highly trusted, actively maintained, and safe to integrate via its SDK, its ability to autonomously execute terminal tasks locally demands strict sandboxing and oversight in production environments.
SUMMARY

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

README.md

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.

Reviews (0)

No results found