freshcrate
Skin:/
Home > AI Agents > letta-code

letta-code

The memory-first coding agent

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

The memory-first coding agent

README

Letta Code

npmDiscordLetta Code is a memory-first coding harness, built on top of the Letta API. Instead of working in independent sessions, you work with a persisted agent that learns over time and is portable across models (Claude Sonnet/Opus, GPT/Codex, Gemini, GLM, Kimi, and more).

Read more about how to use Letta Code on the official docs page.

Get started

Install the package via npm:

npm install -g @letta-ai/letta-code

Navigate to your project directory and run letta (see various command-line options on the docs).

Run /connect to configure your own LLM API keys (OpenAI, Anthropic, etc.), and use /model to swap models.

Note

By default, Letta Code will to connect to the Letta API. Use /connect to use your own LLM API keys and coding plans (Codex, zAI, Minimax) for free. Set LETTA_BASE_URL to connect to an external Docker server.

Philosophy

Letta Code is built around long-lived agents that persist across sessions and improve with use. Rather than working in independent sessions, each session is tied to a persisted agent that learns.

Claude Code / Codex / Gemini CLI (Session-Based)

  • Sessions are independent
  • No learning between sessions
  • Context = messages in the current session + AGENTS.md
  • Relationship: Every conversation is like meeting a new contractor

Letta Code (Agent-Based)

  • Same agent across sessions
  • Persistent memory and learning over time
  • /clear starts a new conversation (aka "thread" or "session"), but memory persists
  • Relationship: Like having a coworker or mentee that learns and remembers

Agent Memory & Learning

If you’re using Letta Code for the first time, you will likely want to run the /init command to initialize the agent’s memory system:

> /init

Over time, the agent will update its memory as it learns. To actively guide your agents memory, you can use the /remember command:

> /remember [optional instructions on what to remember]

Letta Code works with skills (reusable modules that teach your agent new capabilities in a .skills directory), but additionally supports skill learning. You can ask your agent to learn a skill from its current trajectory with the command:

> /skill [optional instructions on what skill to learn]

Read the docs to learn more about skills and skill learning.

Community maintained packages are available for Arch Linux users on the AUR:

yay -S letta-code # release
yay -S letta-code-git # nightly

Made with 💜 in San Francisco

Release History

VersionChangesUrgencyDate
v0.34.24## What's Changed * fix(listener): bound startup after the 0.34.17 heartbeat regression by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/5168 * fix(listener): decouple channel gateway startup from connection readiness by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/5208 * fix(listener): keep the runtime across re-registration by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/5207 * fix(recovery): don't tell the model to bHigh10/25/2026
v0.34.21## What's Changed * feat(listener): carry MCP originator token to tool-run calls (USER_SCOPED_MCP_CONNECTIONS 2c) by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/5136 * fix(model): send selected Grok reasoning effort for xAI handles by @sarahwooders in https://github.com/letta-ai/letta-code/pull/5198 * fix(subagents): don't let caller-notified remote workers claim the parent runtime [LET-14140] by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/52High10/22/2026
v0.34.19## What's Changed * chore(skills): remove curating-memory-palace builtin skill by @cpacker in https://github.com/letta-ai/letta-code/pull/5174 * fix(channels): preserve Microsoft Teams a:-prefixed chat ids in MessageChannel by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/5177 * fix(tools): abort in-flight tool executions instead of waiting for them by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/5175 * fix(ci): follow the official Claude Tag doHigh10/20/2026
v0.34.17## What's Changed * fix(local): skip compactions that don't reduce context by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/5077 * fix(local): stop re-prefixing mod provider model handles by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/5079 * fix(cli): abort the pre-stream request and escalate on a second Esc by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/5124 * chore(local): move compaction no-progress check out of loHigh10/18/2026
v0.34.16## What's Changed * fix(listener): don't tell the model to re-run a started call with no recorded result by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/5105 * fix(subagents): inherit the main agent's vault in subagents and Claude Code/Codex workers [LET-13963] by @overlord-letta in https://github.com/letta-ai/letta-code/pull/5087 * fix(cli): remove "cloud button" hint from letta server output by @cpacker in https://github.com/letta-ai/letta-code/pull/5116 * fix(local):High10/16/2026
v0.34.15## What's Changed * fix(workflow): give workflow workers mod-registered tools by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/5078 * fix(local): skip unreadable agent records instead of failing to load the store by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/5094 * feat(subagents): default the Agent tool's computer from LETTA_DEFAULT_SUBAGENT_COMPUTER [LET-14014] by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/5102 * High10/15/2026
v0.34.14## What's Changed * fix(subagents): run Claude Code and Codex subagents with bypassed permissions by @cpacker in https://github.com/letta-ai/letta-code/pull/5070 * docs(skills): connect a computer from a Cloud sandbox with a connect token by @christinatong01 in https://github.com/letta-ai/letta-code/pull/5069 * fix(local): bound transcript resume reads by @cpacker in https://github.com/letta-ai/letta-code/pull/5072 * fix(local): stream JSONL transcript reads to avoid max string length by @overloHigh10/14/2026
v0.34.13## What's Changed * feat(skills): let agents manage their own webhooks by @4shub in https://github.com/letta-ai/letta-code/pull/5000 * feat(subagents): support OpenCode coding workers by @sarahwooders in https://github.com/letta-ai/letta-code/pull/5064 * feat(monitor): optional backup Wake when a watch goes silent [LET-13892] by @cpacker in https://github.com/letta-ai/letta-code/pull/5066 * feat(server): sign in with an agent-issued connect token by @christinatong01 in https://github.com/letta-aHigh10/13/2026
v0.34.11## What's Changed * fix(feedback): accept --message-file so multi-line reports survive Windows by @cpacker in https://github.com/letta-ai/letta-code/pull/5021 * fix(listener): rebuild the channel gateway after re-registration by @cpacker in https://github.com/letta-ai/letta-code/pull/5024 * fix(subagents): return the final report after child workers finish [LET-13703] by @cpacker in https://github.com/letta-ai/letta-code/pull/5032 * feat(cli): add `letta mcp connect` for localhost-callback MCP OHigh10/12/2026
v0.34.10## What's Changed * fix(review): add context to watcher Slack notifications by @carenthomas in https://github.com/letta-ai/letta-code/pull/5010 * chore(deps): upgrade Agent SDK to 0.8.36 by @sarahwooders in https://github.com/letta-ai/letta-code/pull/5013 * fix(listener): prevent worker startup failures during lock publication by @sarahwooders in https://github.com/letta-ai/letta-code/pull/5011 * feat(server): sign a listener into one organization with --org [LET-13474] by @christinatong01 in htHigh10/9/2026
v0.34.8## What's Changed * fix(tools): preserve line endings in ApplyPatch updates by @amelia-letta in https://github.com/letta-ai/letta-code/pull/4996 * fix(listener): register channel external tools during startup by @cpacker in https://github.com/letta-ai/letta-code/pull/4999 * feat(browser-discovery): detect Letta Code on this device by @4shub in https://github.com/letta-ai/letta-code/pull/4998 * fix(listener): do not publish turn_finished on a teleport handoff [LET-13834] by @cpacker in https://giHigh10/9/2026
v0.34.5## What's Changed * feat(server): report computer hardware with registration by @cpacker in https://github.com/letta-ai/letta-code/pull/4958 * feat: always-on vault secret redaction in tool returns and user messages by @kianjones9 in https://github.com/letta-ai/letta-code/pull/4912 * fix(mcp): accept port-less loopback redirects and normalize OAuth credential keys by @cpacker in https://github.com/letta-ai/letta-code/pull/4975 * fix(local): always seed local agents on the `MEMORY.md` layout by @High10/8/2026
v0.34.4## What's Changed * fix(sandbox): let memory subagents write their scratchpad by @cpacker in https://github.com/letta-ai/letta-code/pull/4952 * revert: remove automatic reply relay from core channels (#4043) by @cpacker in https://github.com/letta-ai/letta-code/pull/4956 * docs(channels): keep niche channel behaviors out of the core gateway by @cpacker in https://github.com/letta-ai/letta-code/pull/4954 * ci(review): have Amelia flag oversized or scope-creeping PRs by @cpacker in https://github.High10/4/2026
v0.34.2## What's Changed * fix(skills): scope context-doctor description to repair requests by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/4883 * feat(subagents): triple the generated subagent name pool by @cpacker in https://github.com/letta-ai/letta-code/pull/4885 * fix(memfs): stop local memory commits from rewriting git config every time by @cpacker in https://github.com/letta-ai/letta-code/pull/4890 * feat(channels): add opt-in automatic reply relay by @overlord-letta inHigh10/2/2026
v0.34.1## What's Changed * test(cli): keep Monitor lifecycle tests off Cloud HTTP by @cpacker in https://github.com/letta-ai/letta-code/pull/4879 * feat(daemon): add remote computer tray app [LET-12344] by @4shub in https://github.com/letta-ai/letta-code/pull/4867 * Revert "feat(daemon): add remote computer tray app [LET-12344]" by @4shub in https://github.com/letta-ai/letta-code/pull/4880 * fix(memfs): allow Windows commits in large memory repositories by @overlord-letta in https://github.com/letta-aiHigh9/30/2026
v0.34.0## What's Changed * fix(listener): report listener-state write failures [LET-13485] by @overlord-letta in https://github.com/letta-ai/letta-code/pull/4856 * feat(skills): make the Palace skill the source of truth for Palace rules [LET-13305] by @just-cameron in https://github.com/letta-ai/letta-code/pull/4862 * feat(skills): make the Memory Palace skill Cloud-only [LET-13305] by @just-cameron in https://github.com/letta-ai/letta-code/pull/4866 * feat(skills): Palace Schedule buttons and Cloud-fiHigh9/30/2026
v0.33.6## What's Changed * fix(logging): keep routine server diagnostics behind debug mode by @cpacker in https://github.com/letta-ai/letta-code/pull/4837 * fix(reflection): disable automatic client-side dreaming on Windows by default by @cpacker in https://github.com/letta-ai/letta-code/pull/4838 * feat(subagents): capture native coding-agent sessions [LET-13370] by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/4820 * feat(cli): add letta sandbox desktop-link to share a live CHigh9/29/2026
v0.33.5## What's Changed * docs(workflow): simplify Workflow tool description by @sarahwooders in https://github.com/letta-ai/letta-code/pull/4819 * fix(test): wait for the image listener’s own turn by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/4822 * feat(workflow): add calibrated Jev decisions by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/4785 * feat(workflow): disable memory guard for workers by @letta-integration[bot] in https://github.com/letHigh9/28/2026
v0.33.2## What's Changed * fix(listener): bound harness log file growth with size caps by @overlord-letta in https://github.com/letta-ai/letta-code/pull/4696 * fix(cron): keep managed Cloud schedules durable [LET-13263] by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/4722 * refactor(tools): remove tools outside the toolset catalog by @devanshrj in https://github.com/letta-ai/letta-code/pull/4603 * feat: validate Workflow agent results with schemas by @letta-integration[bot] inHigh9/25/2026
v0.33.1## What's Changed * fix(cli): cap composer input history at 500 entries [LET-13148] by @overlord-letta in https://github.com/letta-ai/letta-code/pull/4661 * fix(cli): clip cloud tool returns in transcript accumulator [LET-13143] by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/4675 * fix(monitors): preserve acting user identity after teleport [LET-13151] by @carenthomas in https://github.com/letta-ai/letta-code/pull/4681 * fix(tools): keep agent coordination focused by @High9/24/2026
v0.33.0## What's Changed * feat(memory): repair post-turn Git conflicts with a background worker by @devanshrj in https://github.com/letta-ai/letta-code/pull/4628 * feat(protocol): expose running workflows [LET-12928] by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/4652 * fix(subagents): preserve effort-suffixed catalog ID pins at spawn [LET-13140] by @overlord-letta in https://github.com/letta-ai/letta-code/pull/4663 * fix(tools): always redact ambient runtime credentials froHigh9/23/2026
v0.32.18## What's Changed * fix(agent): inherit the Cloud system prompt default by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/4611 * feat(subagents): preserve initial input IDs [LET-12656] by @cpacker in https://github.com/letta-ai/letta-code/pull/4617 * chore: bump version to 0.32.17 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pull/4618 * feat(tui): hide system reminders and collapse thinking by default by @just-cameron in https://github.com/letta-ai/leHigh9/23/2026
v0.32.16## What's Changed * fix(memfs): notify clients after post-turn memory pushes by @cpacker in https://github.com/letta-ai/letta-code/pull/4592 * fix(mcp): preserve complete CLI output by @overlord-letta in https://github.com/letta-ai/letta-code/pull/4553 * fix(cron): run local schedules on the local listener [LET-10446] by @just-cameron in https://github.com/letta-ai/letta-code/pull/4161 * fix(ci): use letta/auto model for code review workflows by @just-cameron in https://github.com/letta-ai/lettaHigh9/22/2026
v0.32.15## What's Changed * feat(tools): Workflow tool as a thin wrapper around Agent SDK query() by @sarahwooders in https://github.com/letta-ai/letta-code/pull/4531 * feat(protocol): forward structured output schemas by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/4586 * chore: bump version to 0.32.15 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pull/4585 **Full Changelog**: https://github.com/letta-ai/letta-code/compare/v0.32.14...v0.32.15High9/21/2026
v0.32.14## What's Changed * fix(headless): reuse response state for automatic tool continuations [LET-12822] by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/4524 * refactor: remove /remember command by @devanshrj in https://github.com/letta-ai/letta-code/pull/4525 * refactor(tools): unify toolset construction by @devanshrj in https://github.com/letta-ai/letta-code/pull/4503 * refactor(tools): remove Gemini and codex_snake toolsets by @devanshrj in https://github.com/letta-ai/leHigh9/20/2026
v0.32.13## What's Changed * fix(a2a): discover agents as the current sender [LET-12546] by @carenthomas in https://github.com/letta-ai/letta-code/pull/4483 * test(ci): retry unaccepted teleport fixture requests by @cpacker in https://github.com/letta-ai/letta-code/pull/4487 * fix(subagents): terminate stopped agent process trees by @cpacker in https://github.com/letta-ai/letta-code/pull/4497 * feat(ci): add expert escalation after code review by @carenthomas in https://github.com/letta-ai/letta-code/pulHigh9/17/2026
v0.32.12## What's Changed * chore(skills): remove obsolete MCP conversion skill by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/4484 * test(tools): suppress background fixture completion during teardown by @cpacker in https://github.com/letta-ai/letta-code/pull/4435 * test(ci): distinguish subagent launch from its report by @cpacker in https://github.com/letta-ai/letta-code/pull/4464 * feat(cli): expose credits and model quota with letta usage by @letta-integration[bot] in httpHigh9/16/2026
v0.32.11## What's Changed * test(ci): verify subagent completion with an unread report by @cpacker in https://github.com/letta-ai/letta-code/pull/4453 * test(teleport): keep the source active until handoff is requested by @cpacker in https://github.com/letta-ai/letta-code/pull/4452 * feat(agent): name subagents as their parent’s shadows by @cpacker in https://github.com/letta-ai/letta-code/pull/4458 * fix(memory): clone shared repositories without blocking startup [LET-12506] by @letta-integration[bot] High9/15/2026
v0.32.10## What's Changed * fix(listener): resume locally recorded work after a process restart [LET-12476] by @cpacker in https://github.com/letta-ai/letta-code/pull/4444 * fix(teleport): send runtime reminders as user messages by @cpacker in https://github.com/letta-ai/letta-code/pull/4448 * chore: bump version to 0.32.10 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pull/4449 **Full Changelog**: https://github.com/letta-ai/letta-code/compare/v0.32.9...v0.32.10High9/14/2026
v0.32.8## What's Changed * perf(ci): run platform tests and package checks in parallel by @cpacker in https://github.com/letta-ai/letta-code/pull/4414 * feat(agent): give new subagents distinct sci-fi names [LET-12149] by @cpacker in https://github.com/letta-ai/letta-code/pull/4416 * fix(api): retry message requests when a gateway returns an HTML page [LET-12476] by @cpacker in https://github.com/letta-ai/letta-code/pull/4419 * test(listener): isolate Monitor cancellation notifications by @cpacker in hHigh9/14/2026
v0.32.7## What's Changed * test(shared-memory): verify completed-turn auto-push by @jibramnobhill in https://github.com/letta-ai/letta-code/pull/4336 * fix(messaging): normalize optional computer values in CLI and tool sends [LET-12149] by @cpacker in https://github.com/letta-ai/letta-code/pull/4409 * fix(teleport): keep startup recovery from racing an active handoff [LET-12481] by @cpacker in https://github.com/letta-ai/letta-code/pull/4408 * revert(teleport): remove incomplete per-call recovery supprHigh9/13/2026
v0.31.12## What's Changed * feat(mcp): defer client-local tools to the unified CLI by @sarahwooders in https://github.com/letta-ai/letta-code/pull/4182 * fix(feedback): route behavioral corrections to memory edits by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/4190 * feat(cli): standardize remote routing on computers by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/4194 * fix(agent): scope ChatGPT plan rotation to active turn by @overlord-letta in httpHigh9/3/2026
v0.30.29## What's Changed * ci: configure agent watcher PR notifications by @carenthomas in https://github.com/letta-ai/letta-code/pull/3941 * chore: remove watcher implementation code owners by @carenthomas in https://github.com/letta-ai/letta-code/pull/3945 * ci: assign watcher output PR owners by @carenthomas in https://github.com/letta-ai/letta-code/pull/3947 * fix: process Codex release backlog in order by @carenthomas in https://github.com/letta-ai/letta-code/pull/3949 * ci: harden code review autHigh8/22/2026
v0.30.11## What's Changed * fix(channels): deduplicate repeated outbound actions by @overlord-letta in https://github.com/letta-ai/letta-code/pull/3704 * fix(listener): register environment skills in agent context [LET-10789] by @letta-integration[bot] in https://github.com/letta-ai/letta-code/pull/3728 * feat(channels): export lifecycle-error formatting for external channel hosts by @cpacker in https://github.com/letta-ai/letta-code/pull/3726 * feat(channels): export the slash-command surface for exterHigh8/8/2026
v0.29.2## What's Changed * fix(local): show on-demand llama.cpp router models by @cpacker in https://github.com/letta-ai/letta-code/pull/3496 * fix(listener): fence remote interrupt cancellation [LET-10216] by @cpacker in https://github.com/letta-ai/letta-code/pull/3495 * feat(app-server): add external client capability discovery [LET-10220] by @cpacker in https://github.com/letta-ai/letta-code/pull/3500 * chore: bump version to 0.29.2 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pHigh7/26/2026
v0.28.6## What's Changed * fix(slack): preserve access to oversized attachments by @cpacker in https://github.com/letta-ai/letta-code/pull/3345 * chore: add channels code owners by @just-cameron in https://github.com/letta-ai/letta-code/pull/3346 * fix(local): isolate conversation model token settings by @cpacker in https://github.com/letta-ai/letta-code/pull/3353 * fix(local): preserve provider length stop reasons by @cpacker in https://github.com/letta-ai/letta-code/pull/3354 * fix(local): stop treatHigh7/14/2026
v0.27.20## What's Changed * feat(mods): emit llm_end for provider errors by @carenthomas in https://github.com/letta-ai/letta-code/pull/3164 * chore(codeowners): add jnjpng as owner for websocket code by @kianjones9 in https://github.com/letta-ai/letta-code/pull/3165 * fix(listener): reap half-open sockets on both listener transports by @kianjones9 in https://github.com/letta-ai/letta-code/pull/3143 * chore: bump version to 0.27.20 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pull/3High7/1/2026
v0.27.13## What's Changed * feat(app-server): add Codex-style websocket auth guard by @cpacker in https://github.com/letta-ai/letta-code/pull/3008 * chore: bump version to 0.27.13 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pull/3009 **Full Changelog**: https://github.com/letta-ai/letta-code/compare/v0.27.12...v0.27.13High6/19/2026
v0.27.9## What's Changed * fix: bump pi-ai for Fable local backend support by @overlord-letta in https://github.com/letta-ai/letta-code/pull/2806 * docs: fix README feature links by @overlord-letta in https://github.com/letta-ai/letta-code/pull/2807 * fix(listen): keep local channel listeners alive with process anchor by @shelleypham in https://github.com/letta-ai/letta-code/pull/2804 * fix(local): inherit conversation model for subagents by @cpacker in https://github.com/letta-ai/letta-code/pull/2796 High6/12/2026
v0.27.6## What's Changed * fix(cli): prefill provider field placeholders by @carenthomas in https://github.com/letta-ai/letta-code/pull/2748 * feat: generate conversation titles via summary endpoint by @kianjones9 in https://github.com/letta-ai/letta-code/pull/2721 * feat: expose extension permission overlays by @carenthomas in https://github.com/letta-ai/letta-code/pull/2752 * refactor: remove tool_start denial support by @carenthomas in https://github.com/letta-ai/letta-code/pull/2754 * fix: render mHigh6/6/2026
v0.26.6## What's Changed * refactor(reflection): share subagent launcher by @devanshrj in https://github.com/letta-ai/letta-code/pull/2437 * fix(connect): manage disconnects through provider selector by @cpacker in https://github.com/letta-ai/letta-code/pull/2619 * feat(local): add ChatGPT Fast selector support by @cpacker in https://github.com/letta-ai/letta-code/pull/2620 * fix(codex): make write_stdin polls abortable by @cpacker in https://github.com/letta-ai/letta-code/pull/2627 * fix(codex): discoHigh5/30/2026
v0.26.1## What's Changed * fix(startup): skip cloud recents when logged out by @carenthomas in https://github.com/letta-ai/letta-code/pull/2466 * fix(startup): keep no-model label on local resume by @carenthomas in https://github.com/letta-ai/letta-code/pull/2465 * feat(tui): add rotating empty-composer prompt hints by @carenthomas in https://github.com/letta-ai/letta-code/pull/2469 * fix(startup): hide reasoning for no-model placeholder by @carenthomas in https://github.com/letta-ai/letta-code/pull/24High5/22/2026
v0.25.10## What's Changed * refactor(queue): simplify queue edit to Up-arrow-loads-all by @carenthomas in https://github.com/letta-ai/letta-code/pull/2288 * chore: add Bedrock Opus 4.7 support by @jnjpng in https://github.com/letta-ai/letta-code/pull/2284 * fix(cli): refresh secrets before local secret commands by @sarahwooders in https://github.com/letta-ai/letta-code/pull/2292 * fix(local): route MemFS UI to local backend paths by @AriWebb in https://github.com/letta-ai/letta-code/pull/2282 * fix(cli)High5/17/2026
v0.25.8## What's Changed * fix(local): skip hosted Auto quota fallback by @just-cameron in https://github.com/letta-ai/letta-code/pull/2192 * feat(ci): add eyes/rocket reactions to review bot, gate review on lint pass by @carenthomas in https://github.com/letta-ai/letta-code/pull/2196 * feat(cli): add ANSI color parsing to statusline by @kianjones9 in https://github.com/letta-ai/letta-code/pull/2199 * feat(permissions): rename permission modes for clarity, make unrestricted the default by @carenthomas High5/13/2026
v0.25.3## What's Changed * chore(ci): enable review for all authors, add PR context to prompt by @carenthomas in https://github.com/letta-ai/letta-code/pull/2145 * fix: wrap /btw in approval recovery by @jnjpng in https://github.com/letta-ai/letta-code/pull/2133 * fix: openrouter retry by @AriWebb in https://github.com/letta-ai/letta-code/pull/2108 * feat(local): enable local provider connections by @cpacker in https://github.com/letta-ai/letta-code/pull/2126 * feat(local): Add local backend CLI flag bHigh5/8/2026
v0.24.13## What's Changed * feat(channel): support dynamic channel plugins by @cpacker in https://github.com/letta-ai/letta-code/pull/2021 * fix(reflection): trim launch context and clarify the system prompt by @devanshrj in https://github.com/letta-ai/letta-code/pull/2031 * test: harden mock module isolation checks by @cpacker in https://github.com/letta-ai/letta-code/pull/2033 * feat(ws): write + sync memory file command by @christinatong01 in https://github.com/letta-ai/letta-code/pull/2030 * refactoHigh5/1/2026
v0.24.7## What's Changed * fix(headless): flush terminal stream-json messages by @cpacker in https://github.com/letta-ai/letta-code/pull/1975 * feat(ws): hot reload permission settings by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1970 * docs: add harness configuration builtin skill `configuring-your-harness` by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1978 * fix(dream): cap reflection startup context by @sarahwooders in https://github.com/letta-ai/letta-code/pullHigh4/27/2026
v0.23.10## What's Changed * feat(channels): add Discord channel plugin by @cpfiffer in https://github.com/letta-ai/letta-code/pull/1825 * fix(tui): rename reflection to dream by @christinatong01 in https://github.com/letta-ai/letta-code/pull/1856 * feat(listener): add grep_in_files content-search command by @4shub in https://github.com/letta-ai/letta-code/pull/1857 * fix: add prepareScopedToolExecutionContext to processConversation dep array by @christinatong01 in https://github.com/letta-ai/letta-code/High4/22/2026
v0.23.9## What's Changed * feat(client): add x-letta-node header opt-in via LETTA_NODE env var by @jnjpng in https://github.com/letta-ai/letta-code/pull/1835 * feat: add k2.6 by @AriWebb in https://github.com/letta-ai/letta-code/pull/1851 * feat: create hidden conversations for agent-to-agent and forked-subagent paths by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1838 * feat(permissions): add cross-agent memory guard by @devanshrj in https://github.com/letta-ai/letta-code/pull/1852 * High4/21/2026
v0.23.8## What's Changed * fix(channels): recover pending channel approvals after reconnect by @cpacker in https://github.com/letta-ai/letta-code/pull/1833 * feat(reflection): support AUTO_MEMORY model override by @cpacker in https://github.com/letta-ai/letta-code/pull/1836 * chore: bump version to 0.23.8 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pull/1837 **Full Changelog**: https://github.com/letta-ai/letta-code/compare/v0.23.7...v0.23.8High4/18/2026
v0.23.7## What's Changed * fix(channels): handle interactive approvals in channel chats by @cpacker in https://github.com/letta-ai/letta-code/pull/1831 * fix: handle PID recycling in container scheduler lease by @cpfiffer in https://github.com/letta-ai/letta-code/pull/1808 * chore: bump version to 0.23.7 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pull/1832 **Full Changelog**: https://github.com/letta-ai/letta-code/compare/v0.23.6...v0.23.7High4/17/2026
v0.23.6## What's Changed * fix: clarify opus 4.7 reasoning tiers by @kl2806 in https://github.com/letta-ai/letta-code/pull/1816 * Shelley/let 8514 hybrid file index directory listing by @shelleypham in https://github.com/letta-ai/letta-code/pull/1817 * fix: move 'opus' to 4.7 by @AriWebb in https://github.com/letta-ai/letta-code/pull/1818 * fix: add --no-bin-links on Windows for channel runtime installs by @4shub in https://github.com/letta-ai/letta-code/pull/1821 * Revert "fix: add --no-bin-links on WHigh4/17/2026
v0.23.5## What's Changed * fix(subagent): dev should launch with text loaders for prompt files by @christinatong01 in https://github.com/letta-ai/letta-code/pull/1796 * fix(memory): separate memfs state from local checkout by @cpacker in https://github.com/letta-ai/letta-code/pull/1800 * fix(slack): hydrate prior thread context on first mention by @cpacker in https://github.com/letta-ai/letta-code/pull/1803 * fix(slack): disable outbound web client retries by @cpacker in https://github.com/letta-ai/letHigh4/16/2026
v0.23.4## What's Changed * fix(channels): scope MessageChannel to bound conversations by @cpacker in https://github.com/letta-ai/letta-code/pull/1793 * chore: bump version to 0.23.4 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pull/1795 **Full Changelog**: https://github.com/letta-ai/letta-code/compare/v0.23.3...v0.23.4High4/14/2026
v0.23.3## What's Changed * feat: make recall subagent fork parent conversation by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1787 * fix(channels): unify MessageChannel discovery by @cpacker in https://github.com/letta-ai/letta-code/pull/1788 * fix(slack): dedupe threaded mention ingress by @cpacker in https://github.com/letta-ai/letta-code/pull/1789 * fix(channels): return account snapshots before live refresh by @cpacker in https://github.com/letta-ai/letta-code/pull/1790 * fix(listeMedium4/14/2026
v0.23.2## What's Changed * feat: indexing should initiate upon app load by @shelleypham in https://github.com/letta-ai/letta-code/pull/1785 * fix(slack): resolve Bolt App constructor from bundled runtime by @cpacker in https://github.com/letta-ai/letta-code/pull/1784 * chore: bump version to 0.23.2 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pull/1786 **Full Changelog**: https://github.com/letta-ai/letta-code/compare/v0.23.1...v0.23.2High4/14/2026
v0.23.1## What's Changed * feat: apply real-time sync for filesystem by @shelleypham in https://github.com/letta-ai/letta-code/pull/1755 * fix(channels): restore enabled channel adapters on startup by @cpacker in https://github.com/letta-ai/letta-code/pull/1782 * fix: use correct issue title for Terminal-Bench tracker by @devanshrj in https://github.com/letta-ai/letta-code/pull/1781 * feat: add watcher for CWD auto-detection by @4shub in https://github.com/letta-ai/letta-code/pull/1778 * chore: bump veMedium4/13/2026
v0.23.0## What's Changed * feat: improve shell command UI remapping by @cpacker in https://github.com/letta-ai/letta-code/pull/1758 * refactor(channels): generalize core channel seams by @cpacker in https://github.com/letta-ai/letta-code/pull/1762 * fix(permissions): allow read-only shell inspection scripts by @cpacker in https://github.com/letta-ai/letta-code/pull/1766 * fix(cli): preserve shell command semantic labels across chained Bash commands by @cpacker in https://github.com/letta-ai/letta-code/Medium4/13/2026
v0.22.4## What's Changed * fix(auth): suppress repeated keychain read warnings on Linux by @cpacker in https://github.com/letta-ai/letta-code/pull/1663 * fix(cli): dispatch subcommands before TUI initialization by @cpfiffer in https://github.com/letta-ai/letta-code/pull/1725 * fix(server): initialize settings before telemetry in listen subcommand by @cpfiffer in https://github.com/letta-ai/letta-code/pull/1752 * feat(channels): add markdown formatting for outbound Telegram messages by @cpfiffer in httpHigh4/11/2026
v0.22.3## What's Changed * fix: externalize grammY from bundled CLI by @cpacker in https://github.com/letta-ai/letta-code/pull/1749 * feat(server): add OAuth device flow for headless deployments by @cpfiffer in https://github.com/letta-ai/letta-code/pull/1731 * fix(memory): unstage paths after commit hook failure by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1734 * chore: bump version to 0.22.3 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pull/1750 **Full ChangeMedium4/10/2026
v0.22.2## What's Changed * fix: skip YAML continuation lines in pre-commit frontmatter validator by @kuishou68 in https://github.com/letta-ai/letta-code/pull/1743 * fix: strengthen inbound channel reply prompting by @cpacker in https://github.com/letta-ai/letta-code/pull/1746 * fix(auth): clarify OAuth setup network errors by @cpacker in https://github.com/letta-ai/letta-code/pull/1747 * chore: bump version to 0.22.2 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pull/1748 ## New CoMedium4/10/2026
v0.22.1## What's Changed * chore: cleanup files by @cpacker in https://github.com/letta-ai/letta-code/pull/1742 * feat: add live websocket channel management by @cpacker in https://github.com/letta-ai/letta-code/pull/1744 * chore: bump version to 0.22.1 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pull/1745 **Full Changelog**: https://github.com/letta-ai/letta-code/compare/v0.22.0...v0.22.1Medium4/10/2026
v0.22.0## What's Changed * feat: don't send self hosted errors to telemetry by @AriWebb in https://github.com/letta-ai/letta-code/pull/1730 * chore(codeowners): add websocket code owners by @cpacker in https://github.com/letta-ai/letta-code/pull/1732 * fix: update /empanada delivery radius from 5 to 10 miles by @cpfiffer in https://github.com/letta-ai/letta-code/pull/1733 * feat(telemetry): track reflection start/end with message id range by @sarahwooders in https://github.com/letta-ai/letta-code/pull/Medium4/10/2026
v0.21.18## What's Changed * fix(memfs): recover from missing cwd during memory git clone/pull by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1700 * fix: allow SDK request timeout override via LETTA_REQUEST_TIMEOUT_MS by @cpfiffer in https://github.com/letta-ai/letta-code/pull/1696 * feat(web): add history tab search filters by @kianjones9 in https://github.com/letta-ai/letta-code/pull/1681 * feat(memory-palace): show conversation source + allow commands during execution by @kianjones9 iHigh4/8/2026
v0.21.17## What's Changed * fix(listen): use default task notification path for reflection subagent by @christinatong01 in https://github.com/letta-ai/letta-code/pull/1682 * feat: add per-personality default model, set kawaii to auto-chat by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1687 * fix(memfs): refresh memory git origin before push operations by @cpacker in https://github.com/letta-ai/letta-code/pull/1688 * fix(core): auto-approve memory tools and align acceptEdits by @cpacker Medium4/7/2026
v0.21.16## What's Changed * fix(memfs): retry clone/pull on transient 52x git errors by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1675 * feat: add memory_history and memory_file_at_ref device commands by @shelleypham in https://github.com/letta-ai/letta-code/pull/1637 * fix(cli): disable auto-init for new agents by @devanshrj in https://github.com/letta-ai/letta-code/pull/1679 * chore: bump version to 0.21.16 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pull/1677 Medium4/6/2026
v0.21.15## What's Changed * fix(cli): update insufficient credits error copy by @cpacker in https://github.com/letta-ai/letta-code/pull/1672 * fix(recovery): retry formatted Cloudflare 521 errors by @cpacker in https://github.com/letta-ai/letta-code/pull/1674 * chore: bump version to 0.21.15 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pull/1673 **Full Changelog**: https://github.com/letta-ai/letta-code/compare/v0.21.14...v0.21.15Medium4/6/2026
v0.21.14## What's Changed * fix(listener): stop sync recovery failures from spamming transcript by @cpacker in https://github.com/letta-ai/letta-code/pull/1669 * fix(listener): relay abort signals for websocket stream retries by @cpacker in https://github.com/letta-ai/letta-code/pull/1668 * chore: bump version to 0.21.14 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pull/1670 **Full Changelog**: https://github.com/letta-ai/letta-code/compare/v0.21.13...v0.21.14Medium4/5/2026
v0.21.13## What's Changed * fix(skills): resolve memfs skill lookup in Skill tool by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1649 * fix(shell): apply agent git identity for memory-dir commits by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1640 * fix(cron): replace deprecated recursive rmdir by @cpacker in https://github.com/letta-ai/letta-code/pull/1665 * fix(listener): refresh loop status when plan file path changes by @cpacker in https://github.com/letta-ai/letta-Medium4/5/2026
v0.21.12## What's Changed * fix(listener): include plan file path in loop state by @cpacker in https://github.com/letta-ai/letta-code/pull/1662 * fix(permissions): scope memory subagents to memory roots by @cpacker in https://github.com/letta-ai/letta-code/pull/1656 * fix(skills): add pre-commit hook guidance to working-in-parallel by @kianjones9 in https://github.com/letta-ai/letta-code/pull/1655 * chore: bump version to 0.21.12 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pull/166Medium4/4/2026
v0.21.11## What's Changed * fix(listener): preserve websocket loop error details by @carenthomas in https://github.com/letta-ai/letta-code/pull/1650 * fix(listener): unwind hidden approvals after interrupt by @cpacker in https://github.com/letta-ai/letta-code/pull/1657 * fix(cli): preserve conversation context window on reasoning updates by @jnjpng in https://github.com/letta-ai/letta-code/pull/1652 * revert: "fix(cli): preserve conversation context window on reasoning updates" by @cpacker in https://giMedium4/4/2026
v0.21.10## What's Changed * fix(ci): restore npm trusted publishing workflow path by @cpacker in https://github.com/letta-ai/letta-code/pull/1635 * fix(context_doctor): align terminology with context constitution by @devanshrj in https://github.com/letta-ai/letta-code/pull/1611 * feat(init): Update init skill by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1609 * fix(ci): skip heavy jobs for version bump releases by @cpacker in https://github.com/letta-ai/letta-code/pull/1636 * fix(ci): Medium4/3/2026
v0.21.9## What's Changed * chore: bump version to 0.21.8 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pull/1630 * feat(listen): Add websocket approval suggestion support by @cpacker in https://github.com/letta-ai/letta-code/pull/1629 * fix(ci): publish releases from merged main commits by @cpacker in https://github.com/letta-ai/letta-code/pull/1631 * chore: bump version to 0.21.9 by @github-actions[bot] in https://github.com/letta-ai/letta-code/pull/1634 **Full Changelog**: httpsMedium4/2/2026
v0.21.8Changes from 0.21.7 to 0.21.8 ## What's Changed * feat: show provider status page links on downstream LLM errors by @cpacker in https://github.com/letta-ai/letta-code/pull/1523 * fix(cli): allow forking default conversation with agent_id param and move to using the SDK by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1524 * Shub/fix indexing 1 by @4shub in https://github.com/letta-ai/letta-code/pull/1527 * feat: add baseten kimi by @AriWebb in https://github.com/letta-ai/letta-cMedium4/2/2026
v0.21.7Changes from 0.21.6 to 0.21.7 ## What's Changed * feat: show provider status page links on downstream LLM errors by @cpacker in https://github.com/letta-ai/letta-code/pull/1523 * fix(cli): allow forking default conversation with agent_id param and move to using the SDK by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1524 * Shub/fix indexing 1 by @4shub in https://github.com/letta-ai/letta-code/pull/1527 * feat: add baseten kimi by @AriWebb in https://github.com/letta-ai/letta-cMedium4/1/2026
v0.21.6Changes from 0.21.5 to 0.21.6 ## What's Changed * feat: show provider status page links on downstream LLM errors by @cpacker in https://github.com/letta-ai/letta-code/pull/1523 * fix(cli): allow forking default conversation with agent_id param and move to using the SDK by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1524 * Shub/fix indexing 1 by @4shub in https://github.com/letta-ai/letta-code/pull/1527 * feat: add baseten kimi by @AriWebb in https://github.com/letta-ai/letta-cMedium4/1/2026
v0.21.5Changes from 0.21.4 to 0.21.5 ## What's Changed * feat: show provider status page links on downstream LLM errors by @cpacker in https://github.com/letta-ai/letta-code/pull/1523 * fix(cli): allow forking default conversation with agent_id param and move to using the SDK by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1524 * Shub/fix indexing 1 by @4shub in https://github.com/letta-ai/letta-code/pull/1527 * feat: add baseten kimi by @AriWebb in https://github.com/letta-ai/letta-cMedium3/31/2026
v0.21.4Changes from 0.21.3 to 0.21.4 ## What's Changed * feat: show provider status page links on downstream LLM errors by @cpacker in https://github.com/letta-ai/letta-code/pull/1523 * fix(cli): allow forking default conversation with agent_id param and move to using the SDK by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1524 * Shub/fix indexing 1 by @4shub in https://github.com/letta-ai/letta-code/pull/1527 * feat: add baseten kimi by @AriWebb in https://github.com/letta-ai/letta-cMedium3/30/2026
v0.21.3Changes from 0.21.2 to 0.21.3 ## What's Changed * feat: show provider status page links on downstream LLM errors by @cpacker in https://github.com/letta-ai/letta-code/pull/1523 * fix(cli): allow forking default conversation with agent_id param and move to using the SDK by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1524 * Shub/fix indexing 1 by @4shub in https://github.com/letta-ai/letta-code/pull/1527 * feat: add baseten kimi by @AriWebb in https://github.com/letta-ai/letta-cMedium3/30/2026
v0.21.2Changes from 0.21.1 to 0.21.2 ## What's Changed * feat: show provider status page links on downstream LLM errors by @cpacker in https://github.com/letta-ai/letta-code/pull/1523 * fix(cli): allow forking default conversation with agent_id param and move to using the SDK by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1524 * Shub/fix indexing 1 by @4shub in https://github.com/letta-ai/letta-code/pull/1527 * feat: add baseten kimi by @AriWebb in https://github.com/letta-ai/letta-cMedium3/29/2026
v0.21.1Changes from 0.21.0 to 0.21.1 ## What's Changed * feat: show provider status page links on downstream LLM errors by @cpacker in https://github.com/letta-ai/letta-code/pull/1523 * fix(cli): allow forking default conversation with agent_id param and move to using the SDK by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1524 * Shub/fix indexing 1 by @4shub in https://github.com/letta-ai/letta-code/pull/1527 * feat: add baseten kimi by @AriWebb in https://github.com/letta-ai/letta-cMedium3/27/2026
v0.21.0Changes from 0.20.0 to 0.21.0 ## What's Changed * feat: show provider status page links on downstream LLM errors by @cpacker in https://github.com/letta-ai/letta-code/pull/1523 * fix(cli): allow forking default conversation with agent_id param and move to using the SDK by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1524 * Shub/fix indexing 1 by @4shub in https://github.com/letta-ai/letta-code/pull/1527 * feat: add baseten kimi by @AriWebb in https://github.com/letta-ai/letta-cMedium3/27/2026
v0.19.11## What's Changed * feat: show provider status page links on downstream LLM errors by @cpacker in https://github.com/letta-ai/letta-code/pull/1523 * fix(cli): allow forking default conversation with agent_id param and move to using the SDK by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1524 * Shub/fix indexing 1 by @4shub in https://github.com/letta-ai/letta-code/pull/1527 * feat: add baseten kimi by @AriWebb in https://github.com/letta-ai/letta-code/pull/1529 * fix(listener): sMedium3/27/2026
v0.19.10Changes from 0.19.9 to 0.19.10 ## What's Changed * fix(listener): stop approval replay after interrupt by @cpacker in https://github.com/letta-ai/letta-code/pull/1521 **Full Changelog**: https://github.com/letta-ai/letta-code/compare/v0.19.9...v0.19.10Medium3/25/2026
v0.19.9Changes from 0.19.8 to 0.19.9 ## What's Changed * feat: add otid to request_start/ok/error logs by @carenthomas in https://github.com/letta-ai/letta-code/pull/1506 * fix: don't finalize streaming line on error when resume will follow by @carenthomas in https://github.com/letta-ai/letta-code/pull/1507 * feat: add secret command by @AriWebb in https://github.com/letta-ai/letta-code/pull/1435 * fix: restore interactive slash bypass while agent is busy by @kianjones9 in https://github.com/letta-aiMedium3/25/2026
v0.19.8Changes from 0.19.7 to 0.19.8 ## What's Changed * fix(stream): dedup replayed seq_id chunks across retries by @carenthomas in https://github.com/letta-ai/letta-code/pull/1478 * fix: error string matching for retry by @carenthomas in https://github.com/letta-ai/letta-code/pull/1487 * feat: disable sdk timeout by @carenthomas in https://github.com/letta-ai/letta-code/pull/1490 * feat(cli): add /doctor command for memory context health check by @sarahwooders in https://github.com/letta-ai/letta-cMedium3/24/2026
v0.19.7Changes from 0.19.6 to 0.19.7 ## What's Changed * feat: allow users to set cwd by @4shub in https://github.com/letta-ai/letta-code/pull/1480 * fix(memfs): collapse large dirs in reflection snapshot tree by @cpfiffer in https://github.com/letta-ai/letta-code/pull/1481 * fix(memory): add pre-commit guard to validate skill formatting by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1482 * refactor(skill): remove hard-coded file count/size targets from initi… by @kl2806 in https://gMedium3/23/2026
v0.19.6Changes from 0.19.5 to 0.19.6 ## What's Changed * feat: add m2.7 by @AriWebb in https://github.com/letta-ai/letta-code/pull/1453 * feat(new): accept optional conversation name argument and polish `/resume` results by @kianjones9 in https://github.com/letta-ai/letta-code/pull/1451 * feat(search): default to current agent scope by @kianjones9 in https://github.com/letta-ai/letta-code/pull/1450 * fix: resume project-specific conversation on bare `letta` startup by @devanshrj in https://github.comLow3/20/2026
v0.19.5Changes from 0.19.4 to 0.19.5 ## What's Changed * feat(resume): sort conversations by most recent activity by @kianjones9 in https://github.com/letta-ai/letta-code/pull/1444 * fix: centralize directory and memfs cap tuning by @cpfiffer in https://github.com/letta-ai/letta-code/pull/1377 * fix: respect LETTA_DEBUG env var if set by @kianjones9 in https://github.com/letta-ai/letta-code/pull/1452 **Full Changelog**: https://github.com/letta-ai/letta-code/compare/v0.19.4...v0.19.5Low3/19/2026
v0.19.4Changes from 0.19.3 to 0.19.4 ## What's Changed * fix: fall back to node-pty when Bun is not defined (Electron/Node.js) by @4shub in https://github.com/letta-ai/letta-code/pull/1446 * fix(tools): re-enable memory tool in default toolsets by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1447 * fix(listener): drain queued turns during approval reentry by @cpacker in https://github.com/letta-ai/letta-code/pull/1448 **Full Changelog**: https://github.com/letta-ai/letta-code/comparLow3/19/2026
v0.19.3Changes from 0.19.2 to 0.19.3 ## What's Changed * fix(listener): restore desktop permission mode binding for default scope by @cpacker in https://github.com/letta-ai/letta-code/pull/1432 * feat: add zai coding plan byok by @AriWebb in https://github.com/letta-ai/letta-code/pull/1434 * fix(listener): emit corrected device status after permission mode syn… by @4shub in https://github.com/letta-ai/letta-code/pull/1437 * fix(approval): normalize approved client tool results by @cpacker in https://Low3/19/2026
v0.19.2Changes from 0.19.1 to 0.19.2 ## What's Changed * fix(tui): reduce flicker with post-highlight clipping in live previews by @cpacker in https://github.com/letta-ai/letta-code/pull/1423 * chore: default to auto model instead of sonnet by @sarahwooders in https://github.com/letta-ai/letta-code/pull/1429 * fix: wire terminal events through V2 listener [LET-7999] by @4shub in https://github.com/letta-ai/letta-code/pull/1430 * fix(permissions): require approval for ExitPlanMode in bypass mode by @dLow3/18/2026
v0.19.1Changes from 0.19.0 to 0.19.1 ## What's Changed * fix(auth): update setup login copy and static auth logo by @cpacker in https://github.com/letta-ai/letta-code/pull/1421 * feat: add GPT-5.4 mini and nano model presets by @kl2806 in https://github.com/letta-ai/letta-code/pull/1422 * fix(subagents): handle CRLF/BOM frontmatter for custom agent files by @devanshrj in https://github.com/letta-ai/letta-code/pull/1424 * feat(listen): isolate permission mode per conversation [LET-8050] by @4shub in hLow3/18/2026
v0.19.0Changes from 0.18.4 to 0.19.0 ## What's Changed * fix: index only the user-selected file/dir from @ autocomplete by @shelleypham in https://github.com/letta-ai/letta-code/pull/1388 * fix: TB regression workflow fixes (venv, Modal, warnings) by @devanshrj in https://github.com/letta-ai/letta-code/pull/1385 * fix: improve bash-mode backspace exit behavior by @jnjpng in https://github.com/letta-ai/letta-code/pull/1386 * feat: TB regression — full runs, xhigh models, baselines, and report improvemLow3/17/2026
v0.18.4Changes from 0.18.3 to 0.18.4 ## What's Changed * fix: Default conversation system prompt recompilation routing [LET-7976] by @devanshrj in https://github.com/letta-ai/letta-code/pull/1373 * fix(listen): normalize inbound user image payloads by @cpacker in https://github.com/letta-ai/letta-code/pull/1374 * chore: Clean up system prompts directory [LET-7937] by @devanshrj in https://github.com/letta-ai/letta-code/pull/1378 * feat: change lettaignore logic by @shelleypham in https://github.com/lLow3/13/2026
v0.18.3Changes from 0.18.2 to 0.18.3 ## What's Changed * feat: allow env to be shared by current directory by @4shub in https://github.com/letta-ai/letta-code/pull/1355 * fix: preserve context window during resume preset refresh by @cpfiffer in https://github.com/letta-ai/letta-code/pull/1353 * feat: file indexing by @shelleypham in https://github.com/letta-ai/letta-code/pull/1352 * fix: update args fallback by @carenthomas in https://github.com/letta-ai/letta-code/pull/1357 * feat: add strict to updLow3/13/2026
v0.18.2Changes from 0.18.1 to 0.18.2 ## What's Changed * fix: guard against undefined input in vendored Ink handleData on Bun/Linux by @cpacker in https://github.com/letta-ai/letta-code/pull/1351 **Full Changelog**: https://github.com/letta-ai/letta-code/compare/v0.18.1...v0.18.2Low3/11/2026
v0.18.1Changes from 0.18.0 to 0.18.1 ## What's Changed * fix(tui): cache plan path before ExitPlanMode arrives by @jnjpng in https://github.com/letta-ai/letta-code/pull/1337 * fix(tui): clean up token counting in subagent display by @cpacker in https://github.com/letta-ai/letta-code/pull/1344 * fix(tui): auto-approve plan mode in YOLO by @jnjpng in https://github.com/letta-ai/letta-code/pull/1345 * fix(tui): trim leading space on word-wrapped continuation lines by @cpacker in https://github.com/lettaLow3/11/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

capitaineCapitaine — fork a repo, click Codespaces, the agent is alive. The repo IS the agent.master@2026-10-25
karpathy-llm-wikiThe Self-Growing Karpathy LLM Wiki — grown by an AI agent yoyo from Karpathy's founding promptmain@2026-10-25
serverlessclawOfficial ServerlessClaw: The authoritative autonomous AI agent swarm for AWS. Zero idle cost, self-evolving, and infinite scale. Powered by OpenClaw.main@2026-10-25
claude-memA Claude Code plugin that automatically captures everything Claude does during your coding sessions, compresses it with AI (using Claude's agent-sdk), and injects relevant context back into future sesv15.1.0
@robota-sdk/agent-coreComplete AI agent implementation with unified core and tools functionality - conversation management, plugin system, and advanced agent featuresv3.0.0-beta.100

More from letta-ai

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

More in AI Agents

claude-memA Claude Code plugin that automatically captures everything Claude does during your coding sessions, compresses it with AI (using Claude's agent-sdk), and injects relevant context back into future ses
AIGC-Interview-Book【三年面试五年模拟】AIGC算法工程师面试秘籍。涵盖AIGC、LLM大模型、AI Agent、传统深度学习、自动驾驶、机器学习、计算机视觉、自然语言处理、强化学习、大数据挖掘、具身智能、元宇宙、AGI等AI行业面试笔试干货经验与核心知识。
nano-banana-pro-prompts-recommend-skillAI skill for OpenClaw & Claude Code — recommend from 10000+ Nano Banana Pro (Gemini) image prompts. Smart search by use case, content remix, sample images.
tokentracker-cliToken usage tracker for AI agent CLIs (Claude Code, Codex, Cursor, Kiro, Gemini, OpenCode, OpenClaw, Hermes, GitHub Copilot)