mrkeyoor.com_
Tue 01 Sept 17:40 UTC
AI Toolsevaluationupdated 26 Aug 2026

letta-code review

Letta Code is a coding-agent harness built around persistent identity and editable memory. The same agent can work from a CLI, desktop app, browser, remote machine, schedule, or messaging channel while carrying its conversation history, skills, and self-maintained context across sessions.

+45stars / 7d
Verdict

Our Letta Code run installed 593 Bun packages in 82 seconds and built in 19 seconds, but no test target was available to confirm its memory, hooks, channels, or scheduling behavior. Try it when long-lived agent identity is the requirement and you are willing to review how that identity changes. For ordinary coding help, a less stateful agent is easier to secure; Letta Code earns its extra authority only if persistent memory and cross-environment access are used deliberately.

We ran it

Lab card: what happened when we ran letta-codeScreenshot of letta-code (www.letta.com/agent)
Install✓ · 82s593 packages · 463 MB
Build✓ · 19s
Testsn/ano test script
Repo2032 files~487,849 lines of source · 49.8 MB · 15 CI workflows

Answers from our run

Does letta-code build from source?

Dependencies installed in 82 seconds (593 packages), and the build succeeded in 19 seconds. We cloned commit 1f4d3e3 into a clean Debian container with 3 CPUs and no project-specific setup.

Does letta-code have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Who should not use letta-code?

Teams that require all state to remain local: the documented remote environments, cross-machine secrets, browser access, and shared cloud agents require signing in with Letta.

What are the alternatives to letta-code?

Qwen Code, OpenClaw, OpenHands. Our Letta Code run installed 593 Bun packages in 82 seconds and built in 19 seconds, but no test target was available to confirm its memory, hooks, channels, or scheduling behavior.

Setup3/5101-second install and build; cloud and channels add credentials
Docs4/5Memory, skills, permissions, scheduling, channels, and remote use covered
Community4/53,124 stars, same-day release and push, active detailed reports
Maturity3/5Broad version 0.31 surface, but no harness-visible test target

Discussed on

  1. hnLetta Code: a memory-first coding agent6 points

Who it’s for

Developers who want one agent to remember projects and preferences across long periods.
Researchers testing editable memory, reflection, skill learning, and scheduled agent work.
Operators who need the same agent available through a terminal, desktop, browser, Slack, Telegram, or Discord.
Teams prepared to audit memory changes, permission rules, hooks, skills, and remote environments.

Who it’s NOT for

Teams that require all state to remain local: the documented remote environments, cross-machine secrets, browser access, and shared cloud agents require signing in with Letta.
Users uncomfortable with an agent rewriting its own memory, skills, prompts, and harness modifications over time.
Windows users relying on blocking safety hooks without a version-specific test: issue 4009 reports PowerShell exit-code handling turning block signals into errors.
macOS arm64 users installing through pnpm for image work: issue 3937 reports missing sharp platform binaries breaking every image operation.
Organizations requiring a repository test target in our environment: the build passed, but the harness found no tests script or target and skipped tests.

Setup reality

Our Bun sandbox install succeeded in 82 seconds, adding 593 packages and using 463 MB. The build succeeded in 19 seconds. There was no tests script or target, so we skipped tests. The 49.8 MB checkout contained 2,032 files and about 487,849 source lines, with 15 CI workflow files, no Dockerfile, and no tests directory.

Local use needs the global package plus credentials for an OpenAI, ChatGPT, Anthropic, Z.ai, or another supported model route. Remote environments, shared cloud state, and managed secrets require a Letta login. Slack, Telegram, Discord, GitHub memory sync, and custom channels add separate tokens or SSH credentials.

The agent can rewrite memory and skills, launch subagents, run hooks, and schedule future work. Begin with restrictive permissions, inspect MemFS changes in Git, keep schedules paused until tested, and separate personal chat history from repositories or channels with broader membership.

Memory and identity are the product

Letta Code treats a coding agent as something that persists rather than a fresh chat attached to a repository. Agents keep memory blocks, conversation history, skills, and an identity across sessions. They can rewrite that context as they learn. The result can feel more continuous than a stateless terminal agent because preferences, project facts, and past decisions do not need to be pasted into every conversation.

Persistence also creates a new failure mode: an incorrect conclusion can become durable context. /doctor audits memory quality, /palace shows memory, and /sleeptime schedules dreaming. MemFS tracks context changes with Git and can sync them to a custom repository. Use that history as an audit trail. Review memory diffs with the same care as code changes, especially after a failed task or a conversation containing sensitive material.

One agent can act through several machines and channels

A Letta agent is reachable from the local CLI, desktop apps for 3 operating-system families, a browser including mobile, Slack, Telegram, Discord, and custom channels. Agents stored in Letta Cloud can route work to a laptop, remote VM, managed sandbox, GitHub Actions, or another named environment. This is useful for an always-available assistant, but each new interface changes who can send instructions and where tools execute.

Remote and multi-environment work requires signing in with Letta. Managed secrets do too. The secrets feature makes values available as environment variables while hiding them from normal context, which reduces accidental prompt exposure but still grants the process usable credentials. Channel tokens, environment access, model keys, and repository permissions should be separated. A Telegram message should not automatically inherit the same command authority as a terminal session on a work laptop.

What happened when we ran it

Our Bun sandbox installed 593 packages in 82 seconds and used 463 MB on disk. The build then succeeded in 19 seconds. The checkout itself contained 2,032 files, about 487,849 source lines, and occupied 49.8 MB. Our scan found 15 CI workflow files, no Dockerfile, and no tests directory. That is a substantial TypeScript application rather than a small wrapper around a chat-completions call.

There was no tests script or target, so our harness skipped tests. We did not create a cloud agent, connect a model, exercise a channel, rewrite memory, run a hook, or trigger a schedule. A passing 19-second build establishes that commit 1f4d3e3 compiled in our 3-CPU, 8 GB Debian container. It does not establish that the stateful behavior or permission boundaries worked correctly, and we will not borrow counts from repository issue text as a substitute.

Self-configuration needs an external review loop

The README suggests asking the agent to configure its own skills, behavior, hooks, and permissions. Letta Code can learn skills, modify memory and prompts, create harness mods, call subagents, and schedule future work. That is a powerful research surface. It is also circular: the system whose behavior is being changed may be the one proposing and judging the change. Keep a human-visible diff, an explicit approval step, and a rollback path outside the agent's editable memory.

Issue 4029 questions whether the reflection policy has enough restraint when newer text appears to conflict with stored facts. The report is specific to a tested prompt and does not prove every memory update is unsafe. It identifies the right adoption test: give the agent corrections, speculation, and temporary exceptions, then inspect what it makes permanent. Long-term memory is useful only when it forgets noise and preserves verified facts.

Skills and subagents expand both reach and risk

Skills may be global, project-scoped, or stored inside one agent's memory. Letta can install them from GitHub and named skill hubs. Built-in subagents cover general work, forks, recall, and history analysis; agents can also call other agents or themselves. These features help a long job draw on past conversations without loading everything into one prompt. They also make instruction provenance harder to follow.

Release v0.31.0, published August 26, 2026, added scheduled staleness checking for skills and pause or resume commands for cron work, among many fixes. Issue 4065 says the new tracker began with 21 built-in skills pending audit. That is an honest maintenance signal. External skills still require manual inspection, and a paused schedule should remain the default until its commands, target environment, delivery channel, and failure behavior have been observed.

Platform and provider details can break individual capabilities

Issue 3937 reports that a pnpm installation on macOS arm64 omitted native sharp packages, causing image handling to fail. Issue 4009 reports that PowerShell changed an intended blocking hook exit code, so the hook was treated as an error instead of preventing the action. Both are narrow platform reports, but they affect safety or core input handling. Test the actual package manager and shell used by every connected environment.

Provider integration can drift too. Issue 4050 reports models from an enabled provider mod disappearing after an upgrade, while issue 4063 reports a remote app server ignoring a reasoning-effort selection for one ChatGPT OAuth model. The August 26 release activity and same-day repository push show rapid maintenance. Pinning the package gives operators time to confirm model lists, image support, hooks, and remote routing before accepting the next change.

Persistent agents need a narrower first job

GitHub showed 3,124 stars and 258 combined open issues and pull requests when fetched. Version 0.31.0 and the latest push both landed on August 26, 2026. The issue queue includes detailed human-verification disclosures, automated drift trackers, and active fixes. That looks like a busy project still defining how its many surfaces fit together.

Start with one repository, one environment, one model credential, and no active schedules. Let the agent build useful memory for a week, then review its MemFS history and ask whether the retained context saves more time than it costs to audit. Add a channel or remote machine only after that answer is yes. Without that discipline, persistence turns ordinary agent mistakes into recurring ones.

Alternatives

ProjectWhat it isPick it when
Qwen Code gh↗An open-source multi-provider coding agent spanning terminal, IDE, daemon, and SDK interfaces.pick this instead when provider choice and coding features matter more than a persistent cloud-backed identity.
OpenClaw gh↗A personal agent gateway connecting chats, local devices, skills, and scheduled work.pick this instead when messaging and personal-device integration are the center of the assistant.
OpenHands gh↗A software-development agent platform with a web interface and sandboxed runtimes.pick this instead when issue-to-code automation and isolated execution matter more than autobiographical memory.

What people are saying

  1. [github-trending] letta-ai/letta-code

Sources

  1. Letta Code repository and README
  2. Letta Code v0.31.0 release
  3. Windows blocking hook report
  4. macOS arm64 image handling report
  5. Reflection restraint report
  6. Provider model list regression

More ai tools reviews

claudian · SkillSpector · robin · mjlab · MoGe · awesome-design-md · the whole board →