Charles Packer
603e5941d8
refactor: replace ADE /agents/ links with /chat/ and centralize URL building [LET-7798] ( #1254 )
...
Co-authored-by: Letta Code <noreply@letta.com >
2026-03-04 15:45:42 -08:00
Charles Packer
654fc2d213
rename: letta remote -> letta server with remote as alias ( #1265 )
...
Co-authored-by: Letta Code <noreply@letta.com >
2026-03-04 15:44:53 -08:00
cthomas
2edbe0566d
feat: add letta/auto and letta/auto-fast model support ( #1259 )
...
Co-authored-by: Letta Code <noreply@letta.com >
2026-03-04 12:16:30 -08:00
Devansh Jain
52e7a5af3a
feat: split init into shallow and deep tiers [LET-7770] ( #1258 )
2026-03-03 22:56:58 -08:00
cthomas
4111c546d3
fix: migrate default conversation API usage to SDK 1.7.11 pattern ( #1256 )
...
Co-authored-by: Letta Code <noreply@letta.com >
2026-03-03 22:48:49 -08:00
Devansh Jain
a284a31f97
feat(cli): auto-init agent memory on first message [LET-7779] ( #1231 )
2026-03-03 20:08:30 -08:00
jnjpng
853762dea3
fix: align headless 409 busy retry with TUI exponential backoff ( #1253 )
...
Co-authored-by: Letta Code <noreply@letta.com >
2026-03-03 18:36:21 -08:00
jnjpng
0c5c766721
feat(statusline): expose agent ID, conversation ID, and last run ID in payload ( #1249 )
2026-03-03 16:33:07 -08:00
Devansh Jain
fd59b8c46b
feat: agent-aware rename via command-io hints [LET-7755] ( #1250 )
2026-03-03 16:12:53 -08:00
cthomas
28ba2e7e1f
fix: add guard for default conversation id ( #1245 )
2026-03-03 14:42:35 -08:00
Charles Packer
d038695244
feat(connect): unify provider connect flows across TUI and CLI ( #1243 )
...
Co-authored-by: Letta Code <noreply@letta.com >
2026-03-03 13:26:26 -08:00
Devansh Jain
be7606824b
fix: make Shift+Tab enter plan mode before auto-approve ( #1197 )
2026-03-03 12:58:07 -08:00
Charles Packer
9372605cf2
fix: re-register environment instead of crashing ( #1235 )
...
Co-authored-by: Letta <noreply@letta.com >
2026-03-03 12:56:06 -08:00
Ari Webb
d6d39fe0cf
fix: persist /model selection for default conversations ( #1239 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 12:52:00 -08:00
Devansh Jain
200390ca33
fix(tui): show background subagent notifications immediately when idle ( #1242 )
2026-03-03 12:36:55 -08:00
Devansh Jain
a1a7419396
feat(statusline): expose background agents in status line payload ( #1234 )
2026-03-02 17:39:14 -08:00
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