The SDK interface to Letta Code. Build agents with persistent memory that learn over time.
Tip
Check out LettaBot and Letta Cowork, two open-source apps built on the SDK.
npm install @letta-ai/letta-code-sdkimport { prompt } from "@letta-ai/letta-code-sdk";
const result = await prompt("What is 2 + 2?");
console.log(result.result);import { createAgent, resumeSession } from "@letta-ai/letta-code-sdk";
const agentId = await createAgent({
persona: "You are a helpful coding assistant for TypeScript projects.",
memfs: true, // Enable git-backed memory filesystem for this new agent
});
await using session = resumeSession(agentId);
await session.send("Find and fix the bug in auth.ts");
for await (const msg of session.stream()) {
if (msg.type === "assistant") console.log(msg.content);
}
await session.send("Add a unit test for the fix");
for await (const msg of session.stream()) {
if (msg.type === "assistant") console.log(msg.content);
}By default, resumeSession(agentId) continues the agent’s default conversation. To start a fresh thread, use createSession(agentId) (see docs).
The SDK surfaces the same runtime controls as Letta Code CLI for skills, reminders, and sleeptime:
import { createSession } from "@letta-ai/letta-code-sdk";
const session = createSession("agent-123", {
skillSources: ["project", "global"], // [] disables all skills (--no-skills)
systemInfoReminder: false, // maps to --no-system-info-reminder
sleeptime: {
trigger: "step-count", // off | step-count | compaction-event
behavior: "reminder", // reminder | auto-launch
stepCount: 8,
},
memfs: true, // true -> --memfs, false -> --no-memfs
});- Docs: https://docs.letta.com/letta-code-sdk
- Examples:
./examples
Made with 💜 in San Francisco