github pingdotgg/t3code v0.1.10-nightly.20261115.4723
T3 Code Nightly 0.1.10-nightly.20261115.4723 (11c425b4b6b3)

pre-release51 minutes ago

v0.1.10-nightly.20261115.4723 · 221 changes from 92 contributors

  • Resume Cursor turns. Resume a stopped Cursor turn from its latest checkpoint without sending a new message.
  • Cursor compaction. Manually compact Cursor conversations from the slash menu or context meter.
  • Large pull request diffs. Load a pull request file’s diff on demand when it is too large to show automatically.
  • Faster pull request actions. Pull request actions, title edits, and labels now update immediately across all supported hosts.
  • Faster delegated tasks. Delegated tasks start and finish faster in long threads.
  • Prompt recovery. Prompts awaiting provider acceptance are preserved if the server restarts.
  • Scratch thread protection. Agents can no longer delete the built-in No project workspace and its threads.

Plus 205 more bug fixes and performance improvements.

Full changelog

What's Changed

  • perf(server): text-only browser snapshots skip the PNG encode (66 ms → 20 ms median) by @Yuruzuu in #30305
  • fix(web): diff Copy path uses Windows separators in a Windows workspace by @spoukyii in #30394
  • fix(opencode): usage totals include what OpenCode 2 spends on compaction by @MarcoDotIO in #30565
  • fix(web): opening a project or deleting the open thread skips delegated tasks by @spoukyii in #30428
  • chore(web): upgrade @pierre/diffs to 1.7.0-beta.4 and drop patched find by @juliusmarminge in #36974
  • fix(server): keep Vietnamese words readable in scratch folder names by @epistex-dev in #30311
  • fix(client-runtime): a line of inline triple-backtick code no longer breaks media in PR descriptions by @MarcoDotIO in #30571
  • fix(web): preserve thread identity across composer pastes by @ElliotDrel in #30583
  • fix(opencode): pages a Code Mode script publishes now show inline by @DavidPerezA12 in #30492
  • fix(cursor): preserve recognized transport failure diagnostics by @trevoedwards in #30631
  • fix(client-runtime): a disconnected machine's scratch folder no longer lists as a second "No project" by @tiliakoos in #30597
  • fix(mobile): iOS tab bar no longer covers a thread opened from the Usage tab by @juliusmarminge in #36975
  • fix(cursor): stream Task subagent work into child threads live by @humbertogontijo in #30539
  • fix(web): app loads in browsers without URL.canParse or URL.parse by @juliusmarminge in #36973
  • fix(server): preserve the crash recovery budget across restarts by @maria-rcks in #25603
  • fix(server): Claude goals no longer re-prompt while a delegated task will wake the thread by @georgenijo in #30646
  • fix(codex): preserve terminal connection failure categories by @trevoedwards in #30639
  • fix(client-runtime): derive MCP download names before URI suffixes by @Jo2234 in #30712
  • fix(desktop): providers are found after a failed shell probe without relaunching by @nabettu in #30667
  • feat(themes): theme CSS can hold 50,000 characters by @pouyarezvani in #36656
  • fix(web): diff file Open and Reveal reach a file whose name has a backslash by @only21mil in #23167
  • fix(release): enforce packaged Linux glibc requirements by @voltcrash in #30827
  • fix(client-runtime): tool output no longer rounds integers beyond 2^53 by @geezoria in #30806
  • fix(gitlab): remove reactions beyond the first award page by @Jo2234 in #30700
  • fix(server): let Expo decide EAS Simulator access by @hirbod in #29490
  • perf(azure-devops): opening a pull request no longer reads it twice by @amv146 in #29918
  • fix(shared): the SQLite reader pool comes back after a failed start by @navidnadali in #30818
  • fix(web): keep history-placed guest messages out of the footer by @Jo2234 in #30718
  • fix(shared): keep Windows path separators beside ampersands by @tanav29 in #36977
  • fix(cli): keep log warnings out of JSON output by @voltcrash in #30898
  • fix(web,mobile): a late MCP app teardown no longer closes the app that replaced it by @seth-dixon in #30387
  • fix(server): Grok usage counts turns from resumed sessions by @saphid in #30694
  • test(desktop): wait for the published PATH after a fallback-shell retry by @juliusmarminge in #36991
  • fix(server): checkpoint restore reverts edits inside submodules by @muhammad-auon-marham in #30829
  • perf(server): delegated tasks start and finish without reading the whole parent thread by @t3dotgg in #34551
  • fix(pi): resume attached sessions without reloading extensions by @juliusmarminge in #21512
  • fix(provider-acp): a cancel no longer overtakes the prompt it cancels by @navidnadali in #30846
  • fix(server): wake GitLab MR watches when a rebase is required by @tcrapts in #30312
  • fix(server): drain queued native child continuations by @juliusmarminge in #21461
  • fix(web): a send that finishes after you leave its thread no longer blanks the open thread's composer by @Isaac-b-ux in #30947
  • fix(mobile): Android menus opened over the keyboard close when it hides by @Onkarj012 in #30853
  • fix(client-runtime): omit machine labels from relay spans by @Mr-Neutr0n in #30940
  • fix(server): MCP list tools clamp an oversized limit instead of failing by @MarcoDotIO in #30976
  • perf(web): collapse all no longer remounts the diff viewer by @juliusmarminge in #36995
  • fix(server): skip Codex page context in imported titles by @flexi767 in #31090
  • fix(web): renaming a sidebar thread no longer shifts the row or covers it with the hover card by @shlokkhemani in #31009
  • perf(server): resolve model aliases in one memoized traversal by @hieu-lee in #31197
  • perf(relay): reconcile multiline env values without rescanning prefixes by @hieu-lee in #31196
  • fix(server): terminals start a $SHELL whose path contains a space by @MarcoDotIO in #30969
  • fix(desktop): a waiting update is no longer re-announced on every poll by @onlydole in #31154
  • fix(acp): replace and remove identified plans across turns by @tanav29 in #36978
  • fix(server): streamed replies keep updating after a line that starts with inline triple-backtick code by @MarcoDotIO in #30966
  • fix(provider-cursor): advertise manual compaction by @defyrlt in #31203
  • fix(web): preserve published theme IDs during alias lookup by @Jo2234 in #31318
  • fix(mobile): iOS image viewer pages and dismisses after slow opens by @juliusmarminge in #36862
  • test(server): stop Git auto-maintenance racing the shared repo template copy by @juliusmarminge in #37012
  • fix(server): Open in and Reveal open ~/ file links from projects outside the home folder by @MarcoDotIO in #31246
  • perf(server): Windows terminals report exit 0.9 s sooner (PowerShell 1,034 → 138 ms) by @Pyseph in #30880
  • fix(web): up-arrow recall keeps thread and machine mentions by @carlosricojr in #31314
  • fix(web): choosing a provider in the model picker no longer raises the phone keyboard by @vytorrennan in #36999
  • fix(cursor): resume stopped turns with Cursor's native resume action by @Yash-Singh1 in #36918
  • fix(web): an unreachable environment no longer hides pull requests from repositories it shares by @johns1x in #34088
  • fix(web): honor right panel state in custom shortcuts by @cesarbahena in #34081
  • fix(shared): decode URI paths in ghq clone folders by @Lucenx9 in #37004
  • fix(web): overlapping image pastes keep their prompt order by @StiensWout in #37010
  • fix(web): show failed desktop downloads in retry tooltips by @Jo2234 in #31324
  • perf(right panel): normalize pr tab target once by @rgodha24 in #37002
  • fix(marketing): prevent harness-grid content overflow on mobile devices. by @SimonDdungu in #31459
  • fix(mobile): diagonal thread-row swipes open on Android instead of scrolling the list by @juliusmarminge in #37011
  • fix(web): focus side-chat composer when selecting its tab by @joeyvandijk in #31360
  • fix(claude): show monitor commands in background work details by @Yash-Singh1 in #37019
  • fix(web): thread chips in the composer can no longer be dragged out as links by @NawfalAhmed in #31541
  • fix(web): show drag preview inside sidebar search results by @Yash-Singh1 in #37022
  • perf(desktop): the remote editor list appears in 62 ms instead of 2.5 s (17 editors, 58 PATH entries, Windows) by @Pyseph in #31033
  • fix(codex): crashed handlers and transport workers no longer hang silently by @iXab3r in #31192
  • fix(mobile): an answered question no longer shows its raw item JSON by @Jacksondr5 in #31330
  • perf(server): message ordinals are read through an index, not a scan by @navidnadali in #30873
  • perf(web): batch middle truncate fits by @rgodha24 in #37001
  • fix(web): prevent stray highlights when selecting shell commands by @Yash-Singh1 in #37024
  • fix(desktop): Check for Updates says when an update is available by @juliusmarminge in #31957
  • fix(web): right panel shortcuts work while a side chat has focus by @juliusmarminge in #32117
  • feat(github): issues and PRs from denounced authors close when opened by @maria-rcks in #37017
  • fix(server): threads show the new branch's pull request after a branch switch by @juliusmarminge in #32042
  • fix(server): preserve run start time when steering restarts a turn by @flamboh in #31640
  • fix(cli): t3 project add brings back an archived project instead of refusing it by @MarcoDotIO in #31661
  • fix(web): track switch no longer blocked when Local environment is off by @juliusmarminge in #32048
  • fix(web): reopened composer drafts keep quote spacing and show the caret by @juliusmarminge in #31880
  • fix(server): SSH device host probe failures say what ssh refused by @ahalekelly in #31695
  • fix(provider-acp): Grok runs complete when a background dev server keeps running by @juliusmarminge in #32109
  • fix(server): parallel worktree launches no longer leave all but one branch on its t3/ name by @MarcoDotIO in #31662
  • fix(client): avoid worktree setup flash after editing first message by @aminevg in #31738
  • fix(codex): an app-server that exits before initialize reports its exit, not EPIPE by @juliusmarminge in #37029
  • fix(server): count only newly imported agent threads by @juliusmarminge in #37025
  • fix(usage): a Claude hub account with an unmeasured window keeps its other limits by @MarcoDotIO in #31748
  • fix(server): thread_not_found points agents at linked environments by @juliusmarminge in #31946
  • perf(web): Expand all folders in the diff file tree no longer rescans every folder for each expansion by @Pyseph in #31465
  • fix(server): a send to an idle thread with a queue now waits behind it by @juliusmarminge in #33857
  • fix(shared): recognize SSH remotes with a single path component by @darshmahadevia in #31781
  • fix(mobile): grouped projects show their own monogram in the picker and draft rows by @johns1x in #31195
  • fix(shared): file mentions of init.py keep their name as the label by @matyasrathonyi in #31593
  • fix(server): delegate_task model refusals name slugs to retry with by @juliusmarminge in #31905
  • fix(server): clearing a terminal that keeps printing no longer hangs by @MarcoDotIO in #31752
  • fix(shared): preserve Git remote headers after comments by @darshmahadevia in #31788
  • fix(server): dictionary spellings apply next to Chinese and Japanese text by @zedong-peng in #31780
  • fix(server): MCP tools no longer advertise non-string enums that Gemini rejects by @juliusmarminge in #37031
  • fix(server): re-base worktree launches whose recorded base ref does not resolve by @sgoley in #31747
  • fix(web): expand viewed checkbox click area by @Yash-Singh1 in #37033
  • fix(web): Shift+F6 moves from a side chat back to the main chat by @muunkk in #31931
  • fix(server): check out cloned submodules when one submodule clone fails in a new worktree by @juliusmarminge in #37030
  • fix(server): MCP send errors say how to continue a finished thread by @juliusmarminge in #31908
  • fix(server): open WSL-mounted Windows drives directly in File Explorer by @spoonkuh in #31816
  • fix(server): PR watch wakes quote a bot comment's text, not its HTML by @juliusmarminge in #37032
  • fix(web): opening a project from the command palette skips settled and snoozed threads by @spoukyii in #31894
  • fix(web): the PDF preview says "1 / 1 page" for a one-page PDF by @spoukyii in #31885
  • fix(server): setup script output no longer shows stray bytes of escape sequences by @spoukyii in #31882
  • fix(web): the SQLite, archive and notebook previews say "1 row", "1 entry" and "1 cell" by @spoukyii in #31886
  • fix(web): notebook error previews no longer show terminal color codes by @geezoria in #31929
  • perf(server): skip non-image results in project icon searches by @voltcrash in #32089
  • fix(server): retain scheduled dispatch refusal reasons by @macodev00 in #32115
  • fix(codex): settle unfinished web searches when turns end by @Sidreyas in #32177
  • fix(pi): Pi agents get T3CODE_THREAD_ID like Claude, Codex and ACP sessions by @spoukyii in #31870
  • fix(cli): t3 connect and t3 service hints keep --base-dir by @spoukyii in #31906
  • fix(shared): compare prerelease versions without locale or precision loss by @luke2x in #32169
  • fix(server): NixOS container and systemd-nspawn veths are no longer advertised as LAN routes by @repparw in #32140
  • fix(relay): slow APNs requests no longer delay other devices by @Sidreyas in #32183
  • fix(server): proxied Codex usage limits keep their reset time by @EhsanulHaqueSiam in #32188
  • fix(server): session cookies are Secure when the request arrived over HTTPS by @juliusmarminge in #37042
  • fix(server): session import no longer counts unused sessions as failures by @mthsmb in #32122
  • perf(server): reuse Find documents across query changes by @voltcrash in #29310
  • fix(server): branch PRs stay matched when a remote has a second push URL by @saphid in #29625
  • fix(server): Stop on a stalled run closes its approval and question cards by @saphid in #30695
  • fix(pi): recognize OmO's builtin tool search by @wuhaoyujerry in #32321
  • fix(server): boot-started linux servers offer and open the file manager by @Tiaxi in #33107
  • fix(server): typing after a click by coordinates no longer hangs a preview tab by @Entrpi in #32845
  • fix(server): Claude MCP elicitations T3 cannot show are cancelled, not declined by @buttjer in #33575
  • fix(server): log canceled relay requests at debug level by @Sidreyas in #32215
  • fix(acp): give Command Code T3's MCP endpoint over HTTP by @ajinkyajacob in #34004
  • Fix #29433: Restore Codex MCP apps after thread unload by @amr807 in #29498
  • fix(server): regenerate an empty persisted secret instead of failing startup by @juliusmarminge in #32053
  • fix(server): Gemini Spark can register its six MCP OAuth redirect URIs by @juliusmarminge in #31319
  • fix(cli): the already-running error names the t3 pair command that connects by @juliusmarminge in #31543
  • fix(server): read_pull_request_guide reads no-checkout hosts through the caller's project by @juliusmarminge in #35913
  • fix(server): Codex calls delegate_task directly instead of from Code Mode by @juliusmarminge in #30019
  • fix(forgejo): review guides work for checkouts whose SSH remote is not the web host by @juliusmarminge in #29784
  • fix(effect-acp): reject elicitation modes the client did not advertise by @juliusmarminge in #35839
  • fix(server): MCP refuses disallowed browser origins with 403 before auth and CORS by @juliusmarminge in #35810
  • fix(mcp): explain cross-thread permission rejections by @07rjain in #36934
  • fix(web): Add Environment drops the old tab's error when switching mode by @kvapca in #32157
  • fix(server): malformed MCP client registration returns an RFC 7591 error body by @juliusmarminge in #35809
  • fix(server): pairing codes typed in hyphen- or space-separated groups are accepted by @juliusmarminge in #35069
  • fix(shared): use HTTP for schemeless loopback previews by @JoaoMarcos44 in #29710
  • fix(opencode): Full access subagents start without approval prompts by @juliusmarminge in #35401
  • fix(desktop): saving keeps a connection catalog this build cannot read by @juliusmarminge in #34944
  • fix(pi): model list loads when the server's folder has a project MCP config by @chaitanyaprem in #28557
  • fix(server): Git LFS images in pull request descriptions load the object, not its pointer by @juliusmarminge in #35466
  • fix(server): desktop preview uploads accept files over 50 MB by @juliusmarminge in #30299
  • fix(usage): keep default-home history after the default account moves by @juliusmarminge in #36727
  • fix(provider-acp): approving a Devin plan never picks its bypass-permissions option by @juliusmarminge in #34474
  • fix(server): guests of a forked thread can expand the commands it inherited by @saphid in #29764
  • docs(user): Tailscale HTTPS lists what the tailnet needs by @WesleySmits in #23759
  • fix(client-runtime): MCP app results with images reach the app instead of waiting forever by @juliusmarminge in #31338
  • fix(gitlab): a pasted repository URL is looked up by its project path on its host by @Dkm0315 in #35209
  • fix(server): skip user hooks in Codex text generation by @thelogicmatrix in #35203
  • fix(server): worktrees of git-annex repositories can be removed by @cardoso-neto in #34065
  • fix(server): Codex model changes no longer restart a shared session from another worktree by @juliusmarminge in #34129
  • fix(cursor): an aborted Cursor SDK stall no longer stops the server by @Gourav224 in #23354
  • fix(forgejo): prefer the deepest-mounted login when a root login also matches by @juliusmarminge in #35916
  • fix(opencode): Go-key-only instances keep OpenCode Go usage on OpenCode 2 by @juliusmarminge in #36519
  • fix(client-runtime): opening an old search result keeps messages in order by @juliusmarminge in #29711
  • fix(server): MCP OAuth rejects a resource with an empty fragment by @juliusmarminge in #35808
  • fix(provider-core): branch-name generation no longer starts the user's task by @juliusmarminge in #36222
  • fix(web): desktop window recovers when its backend restarts during a renderer reload by @juliusmarminge in #26612
  • fix(server): an explicit Tailscale IPv6 bind is advertised as a tailnet route by @juliusmarminge in #34742
  • fix(server): agent slice memory limits follow live memory changes by @OmarAlex24 in #30581
  • fix(grok): background text generation no longer inherits Grok always-approve by @saphid in #29692
  • fix(server): preview port discovery stops polling while no client is in the foreground by @juliusmarminge in #29782
  • fix(web): right-panel shortcuts work on a new, unsent thread by @juliusmarminge in #35189
  • fix(desktop): a backend busy right after startup no longer ends in a fatal HTTP 500 screen by @juliusmarminge in #34918
  • fix(onepassword): a failed batch read no longer outlasts the 45-second bound by @juliusmarminge in #35937
  • fix(server): agents get no device tools or instructions while the Device hub is off by @juliusmarminge in #32542
  • fix(server): clients paired over Tailscale Serve keep their own address by @juliusmarminge in #35559
  • fix(server): HTML previews load relative video and audio files by @juliusmarminge in #36199
  • fix(server): a linked launch above the link's access names the link, not the parent mode by @juliusmarminge in #27334
  • fix(server): Claude append launch text may start with two hyphens by @juliusmarminge in #35598
  • fix(cursor): text generation retries without the sandbox when send rejects it by @juliusmarminge in #34844
  • fix(server): resolve Claude WinGet launchers on Windows by @Sidreyas in #32138
  • fix(server): Claude knows decline feedback is the user's message by @juliusmarminge in #27871
  • fix(acp): permission answers send the agent's option id unchanged by @juliusmarminge in #35837
  • fix(server): forwarded calls to a linked environment no longer wait out a silent first address by @juliusmarminge in #35546
  • fix(server): Claude sessions no longer log a canUseTool shadowing warning by @mahirozdin in #31548
  • fix(server): Claude text generation honors --settings launch args by @juliusmarminge in #34874
  • docs: align delegation guide with current MCP contract by @jacobcorbett in #31045
  • fix(server): fx threads load the user's profile MCP servers by @juliusmarminge in #29538
  • fix(acp-registry): executables named like ..agent count as inside their install folder by @juliusmarminge in #35840
  • fix(server): usage mapped onto a Pi, Cursor or Antigravity model prices at that model's rate by @MarcoDotIO in #32219
  • fix(server): resuming a queue no longer bypasses failed worktree setup by @StiensWout in #36616
  • fix(server): agents can no longer delete the built-in No project through MCP by @juliusmarminge in #33773
  • fix(web): load a too-large PR file's diff on demand by @Yash-Singh1 in #37007
  • fix(cli): t3 up and t3 status hints keep --base-dir by @spoukyii in #31878
  • fix(server): forks of forks keep their deleted source's files by @shivamhwp in #32255
  • fix(web): stashed prompt previews no longer end in a broken character by @felixlaga in #32404
  • fix(web, mobile): a failed terminal resize is sent again by @juliusmarminge in #32047
  • fix(gitcafe): recognize ssh:// remotes that name no user by @jancuk in #32363
  • fix(server): EPUB text extraction skips the chapter head by @jancuk in #32370
  • fix(mobile): queued messages show mentions and files by name, not as raw links by @MarcoDotIO in #32224
  • fix(web): [NIT] SF Pro label no longer renders in a serif in the font picker by @plusk-dev in #24082
  • fix(web): quieter Ready and Merge buttons on PR rows by @flamboh in #25346
  • fix(prs): include Storybook files in the test filter and counts by @aminevg in #29083
  • fix(web): settings section headers no longer overlap their actions on narrow screens by @M0xoo in #29503
  • fix(web): theme import no longer says a file just under 1 MB is "1024 KB" by @spoukyii in #30330
  • fix(web): use available space for project breadcrumbs by @bentbrain in #30503
  • docs: include required Bitbucket workspace read scope by @chungweileong94 in #30593
  • fix(web): subagent status dots no longer jump between corners by @markjoshwel in #30753
  • fix(web): resource monitor no longer claims to sample every 0 ms by @M0xoo in #29749
  • fix(web): the minimap keeps the current turn lit while reading a long reply by @Yuruzuu in #30084
  • fix(desktop): voice input recovers after Linux audio restarts by @voltcrash in #32376
  • perf(pr): actions, title edits and labels show the moment you click, on every host by @Bil0000 in #32774
  • fix(provider-core): background work notices no longer say every task failed when one did by @felixlaga in #32407
  • fix(server): restarts no longer drop prompts the provider never accepted by @Jolymmiles in #32413
  • perf(web): typing no longer re-renders the composer's footer controls by @OmarAlex24 in #32323
  • fix(server): task_status no longer reports a restart-continued task as cancelled by @Jolymmiles in #32414

New Contributors

Full Changelog: v0.1.10-nightly.20261114.4709...v0.1.10-nightly.20261115.4723

Don't miss a new t3code release

NewReleases is sending notifications on new releases.