| 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 b | High | 10/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/52 | High | 10/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 do | High | 10/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 lo | High | 10/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): | High | 10/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 * | High | 10/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 @overlo | High | 10/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-a | High | 10/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 O | High | 10/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 ht | High | 10/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://gi | High | 10/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 @ | High | 10/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. | High | 10/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 in | High | 10/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-ai | High | 9/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-fi | High | 9/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 C | High | 9/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/let | High | 9/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] in | High | 9/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 @ | High | 9/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 fro | High | 9/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/le | High | 9/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/letta | High | 9/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.15 | High | 9/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/le | High | 9/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/pul | High | 9/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 http | High | 9/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] | High | 9/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.10 | High | 9/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 h | High | 9/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 suppr | High | 9/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 http | High | 9/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 aut | High | 8/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 exter | High | 8/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/p | High | 7/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 treat | High | 7/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/3 | High | 7/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.13 | High | 6/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 | High | 6/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 m | High | 6/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): disco | High | 5/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/24 | High | 5/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) | High | 5/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 | High | 5/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 b | High | 5/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 * refacto | High | 5/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/pull | High | 4/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/ | High | 4/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 * | High | 4/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.8 | High | 4/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.7 | High | 4/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 W | High | 4/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/let | High | 4/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.4 | High | 4/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(liste | Medium | 4/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.2 | High | 4/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 ve | Medium | 4/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/ | Medium | 4/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 http | High | 4/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 Change | Medium | 4/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 Co | Medium | 4/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.1 | Medium | 4/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/ | Medium | 4/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 i | High | 4/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 | Medium | 4/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 | Medium | 4/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.15 | Medium | 4/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.14 | Medium | 4/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- | Medium | 4/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/166 | Medium | 4/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://gi | Medium | 4/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): | Medium | 4/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**: https | Medium | 4/2/2026 |
| v0.21.8 | Changes 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-c | Medium | 4/2/2026 |
| v0.21.7 | Changes 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-c | Medium | 4/1/2026 |
| v0.21.6 | Changes 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-c | Medium | 4/1/2026 |
| v0.21.5 | Changes 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-c | Medium | 3/31/2026 |
| v0.21.4 | Changes 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-c | Medium | 3/30/2026 |
| v0.21.3 | Changes 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-c | Medium | 3/30/2026 |
| v0.21.2 | Changes 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-c | Medium | 3/29/2026 |
| v0.21.1 | Changes 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-c | Medium | 3/27/2026 |
| v0.21.0 | Changes 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-c | Medium | 3/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): s | Medium | 3/27/2026 |
| v0.19.10 | Changes 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.10 | Medium | 3/25/2026 |
| v0.19.9 | Changes 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-ai | Medium | 3/25/2026 |
| v0.19.8 | Changes 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-c | Medium | 3/24/2026 |
| v0.19.7 | Changes 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://g | Medium | 3/23/2026 |
| v0.19.6 | Changes 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.com | Low | 3/20/2026 |
| v0.19.5 | Changes 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.5 | Low | 3/19/2026 |
| v0.19.4 | Changes 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/compar | Low | 3/19/2026 |
| v0.19.3 | Changes 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:// | Low | 3/19/2026 |
| v0.19.2 | Changes 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 @d | Low | 3/18/2026 |
| v0.19.1 | Changes 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 h | Low | 3/18/2026 |
| v0.19.0 | Changes 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 improvem | Low | 3/17/2026 |
| v0.18.4 | Changes 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/l | Low | 3/13/2026 |
| v0.18.3 | Changes 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 upd | Low | 3/13/2026 |
| v0.18.2 | Changes 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.2 | Low | 3/11/2026 |
| v0.18.1 | Changes 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/letta | Low | 3/11/2026 |