Devansh Jain
a01bfa696d
feat(tui): background agent status indicator in footer ( #1233 )
2026-03-02 17:29:56 -08:00
jnjpng
60aca976de
fix(cli): preserve model across new conversations ( #1228 )
...
Co-authored-by: Letta Code <noreply@letta.com >
2026-03-02 13:24:59 -08:00
amysguan
3f189ed0c8
feat(tui): add /compaction mode selector command ( #1141 )
2026-03-02 11:28:37 -08:00
cpacker
04dcff9c33
feat(remote): always-on session log to ~/.letta/logs/remote/
...
Every `letta remote` session now writes a log file to
~/.letta/logs/remote/{timestamp}.log regardless of --debug mode.
All WS events, lifecycle transitions, and errors are captured.
--debug still prints to console on top. Log path printed at startup.
Old logs auto-pruned (keeps last 10).
🐛 Generated with [Letta Code](https://letta.com )
Co-Authored-By: Letta <noreply@letta.com >
2026-03-01 13:50:54 -08:00
cpacker
393ab7bddf
refactor(remote): extract shared registerWithCloud() helper
...
Registration HTTP logic was duplicated three times across listen.ts
(initial + re-register) and listen.tsx. Extracted into
listen-register.ts with proper error handling for non-JSON responses,
response shape validation, and 5 focused tests. Removes ~110 lines
of duplication.
🐛 Generated with [Letta Code](https://letta.com )
Co-Authored-By: Letta <noreply@letta.com >
2026-03-01 11:53:45 -08:00
cpacker
ac4621d91d
fix: json catching
2026-02-28 23:04:56 -08:00
cpacker
f65a23d092
fix(remote): handle non-JSON responses from registration endpoint
...
When `letta remote` connects before the cloud API is running (e.g.
ngrok returning HTML error pages), the `.json()` call on the response
threw an unhandled SyntaxError causing a hard exit with "Failed to
parse JSON". Now both register and re-register paths catch JSON parse
failures and surface actionable error messages indicating the server
may not be running.
🐛 Generated with [Letta Code](https://letta.com )
Co-Authored-By: Letta <noreply@letta.com >
2026-02-28 15:56:32 -08:00
Devansh Jain
27d145d0ea
feat: silence reflection subagent from primary agent context ( #1221 )
2026-02-27 20:07:55 -08:00
Devansh Jain
35962f7bc7
feat: make /init a background subagent ( #1208 )
2026-02-27 19:35:19 -08:00
Devansh Jain
ba6df7a9ed
feat: add silent flag to SubagentState for display filtering ( #1220 )
2026-02-27 19:08:51 -08:00
Charles Packer
e4c2893f60
feat: add --debug flag for plain-text logging ( #1215 )
...
Co-authored-by: Letta <noreply@letta.com >
2026-02-27 18:01:46 -08:00
jnjpng
f42fcad3fa
fix: recover run_id for stream resume after early disconnect ( #1212 )
...
Co-authored-by: Letta <noreply@letta.com >
2026-02-27 17:48:33 -08:00
jnjpng
ec3cbbcaee
fix: silence Cloudflare retry status message in terminal UI ( #1214 )
...
Co-authored-by: Letta <noreply@letta.com >
2026-02-27 17:02:05 -08:00
cthomas
e0cea19c9f
feat: debug log file for diagnostics ( #1211 )
...
Co-authored-by: Letta <noreply@letta.com >
2026-02-27 16:49:26 -08:00
jnjpng
265b96e007
fix: normalize Cloudflare HTML errors in telemetry ( #1210 )
...
Co-authored-by: Letta <noreply@letta.com >
2026-02-27 15:54:40 -08:00
cthomas
c5c4687dc4
fix: skip agents.messages.reset in /clear for named conversations ( #1209 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-27 15:48:02 -08:00
cthomas
81a826440c
fix: skip conversation API call for default conversation in /model and /reasoning ( #1207 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-27 15:39:52 -08:00
cthomas
0d5dab198a
feat: use conversations endpoint for default conversation ( #1206 )
2026-02-27 15:37:15 -08:00
cthomas
841e2332f3
feat: show update notification in TUI and footer ( #1204 )
2026-02-27 15:03:47 -08:00
cthomas
1a245d74d3
fix: resume stream from seq 0 when no seq_id was received ( #1198 )
2026-02-27 14:05:31 -08:00
cthomas
74687a063f
fix: skip conversation model sync for default conversation ( #1190 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-27 10:59:20 -08:00
Charles Packer
03de29f3d3
fix(plan): avoid first-try plan-file path misses in codex apply_patch ( #1187 )
2026-02-26 22:07:24 -08:00
jnjpng
986cb7dc79
fix: handle Cloudflare HTML 5xx errors gracefully ( #1179 )
...
Co-authored-by: Letta <noreply@letta.com >
2026-02-26 18:26:09 -08:00
Charles Packer
70fac1d1f3
fix(queue): harden TUI dequeue display trim and override submit guard ( #1183 )
2026-02-26 18:12:54 -08:00
paulbettner
30decee222
fix(plan): restore pre-plan permission mode reliably ( #1170 )
2026-02-26 18:01:48 -08:00
Ari Webb
3f4c689d61
feat: persist session usage details ( #1050 )
2026-02-26 18:00:48 -08:00
amysguan
6707af5930
feat(tui): add self modes to /compact ( #1119 )
...
Co-authored-by: Amy Guan <amy@letta.com >
2026-02-26 18:00:23 -08:00
Sarah Wooders
0025c387ec
fix(cli): keep /model and /reasoning conversation-scoped ( #1178 )
2026-02-26 17:58:42 -08:00
Sarah Wooders
c5a8871be7
fix(model-selector): remove free-tier lock emojis ( #1176 )
2026-02-26 17:58:32 -08:00
jnjpng
932147b642
fix: pretty-print ChatGPT usage_limit_reached errors with reset time ( #1177 )
...
Co-authored-by: Letta <noreply@letta.com >
2026-02-26 17:15:40 -08:00
Charles Packer
462d14edce
feat(queue): QueueRuntime TUI cutover — remove messageQueue array as source of truth ( #1168 )
...
Co-authored-by: Letta <noreply@letta.com >
2026-02-26 16:57:42 -08:00
Devansh Jain
6967f9dcc9
feat: make reasoning tab cycling opt-in (default off) ( #1175 )
2026-02-26 15:42:52 -08:00
jnjpng
d184bd8aef
fix: update tab-cycle mode glyphs ( #1174 )
...
Co-authored-by: Letta <noreply@letta.com >
2026-02-26 15:32:22 -08:00
cpacker
872630ad65
fix: ui cleanup
2026-02-26 15:25:50 -08:00
Charles Packer
7974ea64da
fix(tui): restore clickable ADE/usage links in agent info bar ( #1173 )
2026-02-26 15:01:40 -08:00
Shubham Naik
1a630cedc9
improve streaming resilience for remote mode ( #1171 )
2026-02-26 15:01:13 -08:00
jnjpng
728555480a
fix: normalize animated logo frame width ( #1172 )
...
Co-authored-by: Letta <noreply@letta.com >
2026-02-26 14:39:51 -08:00
jnjpng
6347538071
fix(stream): capture SDK parse diagnostics for fallback stream errors ( #1148 )
...
Co-authored-by: Letta <noreply@letta.com >
2026-02-26 14:26:52 -08:00
Charles Packer
18fa693c9b
feat: queue tui integration ( #1164 )
...
Co-authored-by: Letta <noreply@letta.com >
2026-02-26 11:34:37 -08:00
Devansh Jain
2c243151c6
refactor: remove parseArgs value casts in subcommands ( #1157 )
2026-02-25 20:15:15 -08:00
Devansh Jain
a0fffeae35
refactor: type parsed flag values and remove entrypoint casts ( #1153 )
2026-02-25 19:48:02 -08:00
Devansh Jain
c8fb2cc3b1
refactor: unify CLI flag parsing across interactive and headless ( #1137 )
...
Co-authored-by: cpacker <packercharles@gmail.com >
2026-02-25 18:29:56 -08:00
jnjpng
17a70d6586
fix: update agentState.model on model switch for immediate status bar refresh ( #1149 )
...
Co-authored-by: Letta <noreply@letta.com >
2026-02-25 18:10:59 -08:00
jnjpng
bf324ded90
feat: add telemetry tracking for stream resume attempts ( #1144 )
...
Co-authored-by: Letta <noreply@letta.com >
2026-02-25 17:16:01 -08:00
Charles Packer
bb778d65a2
fix(tui): deduplicate model list by handle in /model selector ( #1139 )
...
Co-authored-by: Letta <noreply@letta.com >
2026-02-25 17:04:59 -08:00
Charles Packer
7a48ac4f25
fix(tui): use canonical agent.model handle for status bar display name ( #1140 )
...
Co-authored-by: Letta <noreply@letta.com >
2026-02-25 17:04:51 -08:00
Charles Packer
2c7d445766
fix(tui): remove s:/t: suffixes from footer status bar ( #1145 )
...
Co-authored-by: Letta <noreply@letta.com >
2026-02-25 17:04:06 -08:00
cthomas
8b088079df
chore: log prestream error in debug mode ( #1143 )
2026-02-25 16:36:03 -08:00
jnjpng
57f6a07335
fix: include server error detail in post-stream trackError ( #1138 )
2026-02-25 14:46:37 -08:00
jnjpng
d220af7919
fix(telemetry): add trackError to approval and interrupt error paths ( #1136 )
2026-02-25 14:24:06 -08:00