v0.1.10-nightly.20261112.4580 · 124 changes from 6 contributors
- Local HTTPS in Browser. Approve untrusted certificates to open local HTTPS services in the desktop Browser panel.
- Environment rescan. Find newly installed tools by rescanning the server environment, without restarting T3 Code.
- OpenCode updates. OpenCode updates now restart its background service automatically, so the new version is ready to use.
- Claude reply streaming. Claude replies stream paragraph by paragraph again instead of waiting for complete text blocks.
- Faster long threads. Sending messages in very long threads takes less time and no longer holds up other thread actions as long.
- Cursor thread recovery. Cursor threads retain their conversation after moving to a worktree and restarting the server.
- Forked thread attachments. Attachments remain available in live forks when their source thread is deleted.
Plus 113 more bug fixes.
Full changelog
What's Changed
- fix(web): cancelled PR checks show a gray stop sign instead of the failed X by @Yash-Singh1 in #34734
- fix(cursor): recover restarted threads with older runs by @juliusmarminge in #24540
- fix(desktop): stalled update downloads time out and say why by @juliusmarminge in #26244
- fix(server): Tailscale Serve forwards to the address a specific --host binds by @juliusmarminge in #34741
- fix(tailscale): serve setup no longer times out on a long success summary by @juliusmarminge in #34743
- fix(server): Rescan finds tools installed after T3 Code started by @juliusmarminge in #23610
- fix(server): advertise the tailnet name when sshd listens only on the tailnet address by @juliusmarminge in #34745
- fix(web): preview address bar waits for the IME to finish before navigating by @juliusmarminge in #34750
- fix(tailscale): Tailscale HTTPS is advertised only when it reaches this T3 server by @juliusmarminge in #34744
- fix(server,web,mobile): messages from a linked environment name the thread that sent them by @EtanHey in #34721
- fix(shared): links to bracketed filenames keep their folder labels by @juliusmarminge in #34759
- fix(server): a Claude resume rejected before the prompt keeps the native session by @juliusmarminge in #34762
- fix(server): Codex MCP servers that fail to start show a notice in the thread by @juliusmarminge in #34771
- fix(server): block incompatible migration history in preflight by @tanav29 in #34773
- fix(server): a reset credit's limits refresh when the first read after it fails by @juliusmarminge in #34780
- fix(forgejo): HTTP-only fj logins are no longer reported unauthenticated by @juliusmarminge in #34777
- fix(server): a new worktree thread's agent starts on its renamed branch by @juliusmarminge in #34781
- fix(server): ACP retries a config option whose write failed for a reason other than refusal by @juliusmarminge in #34782
- chore: denounce wSedlacek by @t3dotgg in #34789
- fix(cursor): resume moved threads from their original session store by @Yash-Singh1 in #34794
- docs: CONTRIBUTING.md is shorter and says we only take bug fixes by @t3dotgg in #34797
- fix(server): remote delegate_task runs on the driver it names by @juliusmarminge in #34790
- fix(server): schedule_task updates apply freshSession by @juliusmarminge in #34801
- fix(web): Backspace right after a list shortcut keeps the typed marker by @juliusmarminge in #34802
- fix(contracts): Space shortcuts reach clients instead of reverting to defaults by @juliusmarminge in #34799
- fix(web): questions without options no longer mention a selected option by @juliusmarminge in #34806
- fix(server): threads launched in the project folder record its branch by @juliusmarminge in #34812
- fix(server): tell the thread when its worktree branch keeps the temporary name by @juliusmarminge in #34813
- fix(server): fresh-session schedules start while an old session has background work by @juliusmarminge in #34811
- fix(web): Ctrl/Cmd+Enter sends new threads when the send shortcut needs it by @juliusmarminge in #34810
- fix(shared): typing after a skill chip no longer reparses the prompt as math by @juliusmarminge in #34816
- fix(provider-acp): wait_for_exit answers when a background child holds the output pipes by @juliusmarminge in #34825
- fix(server): Claude sets a /goal that also mentions a skill by @juliusmarminge in #34818
- fix(server): resumed Claude sessions wait for their MCP servers by @juliusmarminge in #34822
- fix(server): re-import no longer marks a continued transcript imported without its new messages by @juliusmarminge in #34809
- fix(server): file links relative to a gitignored git worktree open the file by @juliusmarminge in #34831
- fix(server): restart recovery wakes delegated children waiting on background work by @juliusmarminge in #34833
- fix(opencode): a Stop OpenCode 2 never answers offers Force stop by @juliusmarminge in #34840
- fix(server): side chat fork context recovers history from the parent thread by @juliusmarminge in #34845
- fix(cursor): agent shell commands stream their output while they run by @juliusmarminge in #34843
- fix(web): Escape and tool keys work as soon as preview annotation starts by @juliusmarminge in #34796
- fix(server): Claude subagent results drop Claude Code's tools-used note by @juliusmarminge in #34821
- fix(server): context handoff names omitted items instead of a read from the thread's start by @juliusmarminge in #34847
- fix(server): a slow baseline checkpoint no longer holds every prompt for 30 seconds by @juliusmarminge in #34849
- fix(server): Codex subagent rows show the child's current command by @juliusmarminge in #34862
- fix(web): review comments in question answers reach the agent with their text by @juliusmarminge in #34855
- fix(server): T3 Connect says whether an unresolved address exists in public DNS by @juliusmarminge in #34866
- fix(source-control): a query or fragment after .git keeps the repository identity by @juliusmarminge in #34857
- fix(client-runtime): provider toggles no longer wait for another provider's update by @juliusmarminge in #34858
- fix(desktop): Linux desktop builds run the packaged-server self-check by @juliusmarminge in #34863
- fix(server): subagent threads get short ids agents can quote back by @juliusmarminge in #34877
- fix(web): context row under the composer hides chat text scrolling behind it by @juliusmarminge in #34846
- fix(web): sidebar rows drop a branch and worktree that were deleted by @juliusmarminge in #34878
- fix(server): a fork made after Edit from here no longer shows the rewound turns by @juliusmarminge in #34823
- fix(server): a pull request watch started after a pending self-settle survives the turn end by @juliusmarminge in #34884
- fix(server): thread reads list only open linked PRs and show their watch state by @juliusmarminge in #34895
- fix(server): finished delegated Codex children no longer pile up in Codex Recents by @juliusmarminge in #34829
- fix(acp): ask forms with a free-text companion field show one step per question by @juliusmarminge in #34867
- fix(server): deleting a source thread keeps the pages its live fork still shows by @juliusmarminge in #34879
- fix(web): html render images open with the rest of their page in the viewer by @juliusmarminge in #34883
- fix(provider-core): one failed status check no longer marks a ready provider unavailable by @juliusmarminge in #34885
- fix(server): Codex goals wait for a delegated task instead of re-prompting by @juliusmarminge in #34898
- fix(web): Incognito browser visits stay out of project history by @juliusmarminge in #34859
- fix(server): favicon lookups for a missing project folder are cached by @juliusmarminge in #34905
- fix(provider-core): Codex turns refused by a managed access policy say so instead of 'retry' by @juliusmarminge in #34871
- fix(server): Claude forked skills record the model they run on by @juliusmarminge in #34848
- fix(deps): resolve path-to-regexp 6.3.0 under @vercel/routing-utils by @juliusmarminge in #34914
- fix(server): new worktrees survive git printing over 1 MB by @juliusmarminge in #34889
- fix(server): status of a new repository no longer waits on huge untracked files by @juliusmarminge in #34916
- fix(web): a sidebar click no longer gets lost when the release reports no buttons by @juliusmarminge in #34929
- fix(web): a stashed prompt ending in a skill or file chip restores as a chip by @juliusmarminge in #28352
- fix(web): clicking the timeline's empty padding keeps following a streaming reply by @juliusmarminge in #34899
- fix(server): browser setup command names the running t3 executable, not another t3 on PATH by @juliusmarminge in #34936
- fix(desktop): app opens after an update while the old server shuts down by @juliusmarminge in #34932
- fix(server): standalone Codex is checked against the native release channel by @juliusmarminge in #34910
- fix(provider-muse): an unfinished Muse install says how to finish setup by @juliusmarminge in #34927
- fix(ssh): a failed remote t3 download says what failed and how to install it by @juliusmarminge in #34928
- fix(clients): Claude question option previews are shown under their option by @juliusmarminge in #34784
- fix(server): a failed delegated task keeps its child's final report by @juliusmarminge in #34915
- fix(server): handoff budget estimates stored history in tokens, not bytes by @juliusmarminge in #34926
- fix(desktop): a failed update-track save keeps offering the current track's updates by @juliusmarminge in #34917
- fix(server): custom Claude models named like a Claude Code alias reach the API unchanged by @juliusmarminge in #34938
- fix(server): finished Claude delegates release their process by @juliusmarminge in #34934
- fix(mobile): iPhone Settings search keeps its query after switching tabs by @juliusmarminge in #34893
- fix(mobile): Android review sheet scrolls to Submit review by @juliusmarminge in #34887
- fix(server): boot service log is emptied in place once it passes 10 MiB by @juliusmarminge in #34886
- fix(server): a missed fixed-time slot shows as failed on its scheduled task by @juliusmarminge in #34815
- fix(server): Stop interrupts a provider turn that starts while it lands by @juliusmarminge in #34912
- feat(web,mobile): Add project lists only GitHub until you turn other hosts on by @t3dotgg in #34978
- fix(opencode): updating restarts the background service on the new version by @t3dotgg in #34606
- fix(web): CSV/TSV and large-text previews say "1 row", "1 column" and "1 line" by @juliusmarminge in #34992
- fix(desktop): browser panel can approve local HTTPS certificates by @juliusmarminge in #24425
- perf(server): sending to a very long thread reads about 5x less of its history by @t3dotgg in #35130
- fix(cursor): user-invoked skills hidden from the model reach the Cursor prompt by @juliusmarminge in #34999
- fix(server): thread find skips empty replies hidden beside an HTML render by @juliusmarminge in #34991
- fix(server): Codex sign-in hint names the instance's CODEX_HOME by @juliusmarminge in #35004
- fix(server): project identity follows gh repo set-default by @juliusmarminge in #35005
- fix(shared): html_render pages from OpenCode 2 Code Mode show and are cleaned up by @juliusmarminge in #35022
- fix(web): overlong content search queries explain the 256-character limit by @juliusmarminge in #35020
- fix(server): Claude replies stream paragraph by paragraph again by @juliusmarminge in #35037
- fix(server): a run whose recovery state can't be read fails instead of staying starting by @juliusmarminge in #35013
- fix(web): No project threads offer no Initialize Git, and their linked PRs show and act in the thread by @shivamhwp in #34788
- fix(server): thread setting changes no longer end a Claude session's background work by @juliusmarminge in #35029
- fix(server): Tailscale Serve no longer takes a live server's route and repairs one left on a dead port by @juliusmarminge in #35042
- fix(server): delegate_task wait returns its task handle before Node fetch's 300 s timeout by @juliusmarminge in #35032
- fix(server): a damaged state database fails startup with its path and how to recover by @juliusmarminge in #35057
- fix(desktop): a login shell slower than 5s at launch still yields its PATH by @juliusmarminge in #35033
- fix(opencode): a slow OpenCode 2 server start no longer leaves the model list empty by @juliusmarminge in #35049
- fix(server): one unresponsive provider no longer stalls every thread's effects by @juliusmarminge in #35027
- fix(desktop): SnapShot shortcut rebinds after the desktop portal restarts by @juliusmarminge in #35048
- fix(server): desktop browser tabs on System appearance follow the system color scheme by @juliusmarminge in #35038
- fix(server): a project whose origin URL contains a space gets a repository identity by @juliusmarminge in #35080
- fix(desktop): installing an update closes SSH port forwards before relaunch by @juliusmarminge in #35018
- fix(web): Files tree keeps expanded folders across remounts by @juliusmarminge in #35067
- fix(ssh): an ssh config alias keeps following its Port after it changes by @juliusmarminge in #35063
- fix(server): fork PRs into gh's upstream base use an owner-qualified head by @juliusmarminge in #35055
- fix(web): file names with a backslash no longer split into folders in the Changes card by @juliusmarminge in #35075
- fix(server): automatic pulls and pull request refresh let slow checkouts finish by @juliusmarminge in #35014
- fix(server): Codex turns use the configured reasoning summary instead of forcing detailed by @juliusmarminge in #35089
- fix(provider-core): Vite+ system_first shims update the install they actually run by @juliusmarminge in #35086
- fix(web): diff tab keeps its scroll position across thread switches by @juliusmarminge in #35090
- test(web): command palette tests clear a leaked last-used project by @juliusmarminge in #35107
- fix(opencode): OpenCode 2 threads see T3 Code's MCP tools on their first turn by @juliusmarminge in #35084
- fix(server): a finished turn refreshes only its own project's PR listings by @juliusmarminge in #35070
Full Changelog: v0.1.10-nightly.20261112.4564...v0.1.10-nightly.20261112.4580