Repository navigation
fix(server): Claude no longer shows unavailable when its health check can't run in $HOME - #19320
Conversation
Packaged desktop builds start the server with cwd = $HOME. The Claude `--version` check inherited that cwd and the capability probe used it, so `claude` wrappers that refuse to run outside a project marked Claude unavailable. Both instance-level probes now run in the server state dir. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a focused server bug fix that moves only instance-level Claude probes to the existing state directory, while preserving project-scoped workspace and session execution. A live regression test covers the packaged-desktop cwd scenario, and no product defaults or static-analysis settings are changed. You can add or adjust custom eligibility rules. Learn more. |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
## What's Changed * chore(deps): Effect 4.0.4 and OpenCode 2.0.28, dropping the patches they made unnecessary by @juliusmarminge in pingdotgg/t3code#19213 * fix(server): a Claude 403 no longer tells you to log in again by @shivamhwp in pingdotgg/t3code#15872 * fix(server): persist only changed pull request links by @juliusmarminge in pingdotgg/t3code#19248 * fix(server): delegate_task explains that supervised runtime modes pause the child by @saphid in pingdotgg/t3code#14416 * fix(server): Claude subagent progress no longer re-stores the unchanged prompt by @Gigioxx in pingdotgg/t3code#18375 * fix(server): thread list reads no longer freeze the server on large databases by @t3dotgg in pingdotgg/t3code#19226 * perf(server): streamed events no longer rewrite the whole thread row by @Baker-Harrison in pingdotgg/t3code#18890 * docs: close PRs written by Gemini or Muse Wonder by @t3dotgg in pingdotgg/t3code#19286 * fix: update all no longer runs agents twice or loses background work by @t3dotgg in pingdotgg/t3code#19291 * fix(server): enforce one database owner and guard update rollback by @maria-rcks in pingdotgg/t3code#16102 * perf(server): reuse stored turn item positions by @tannerpolley in pingdotgg/t3code#19230 * perf(server): avoid quadratic resource history replay by @saphid in pingdotgg/t3code#18825 * fix(server): repair ownership UUID generation by @t3dotgg in pingdotgg/t3code#19298 * fix(client-runtime): slow config snapshots no longer drop working connections by @saphid in pingdotgg/t3code#14518 * fix(server): bound activity publishes so stalled responses release the worker by @saphid in pingdotgg/t3code#18830 * perf(shared): cached SQLite statements no longer hold large parameters by @t3dotgg in pingdotgg/t3code#19305 * fix(provider-cursor): Cursor text generation no longer leaks SQLite file handles on every call by @t3dotgg in pingdotgg/t3code#19310 * fix(server): make SQLite checkpoints durable on macOS by @t3dotgg in pingdotgg/t3code#19304 * perf(server): Codex plan streaming no longer commits every token by @t3dotgg in pingdotgg/t3code#19317 * fix(server): large file edits no longer store their full diff twice by @t3dotgg in pingdotgg/t3code#19316 * fix(web): settings save again after a stored value fails decode by @t3dotgg in pingdotgg/t3code#19312 * fix(server): HTML and Markdown attachments no longer fail OpenCode turns by @t3dotgg in pingdotgg/t3code#19319 * fix(server): worktree paths no longer vanish on git before 2.36 by @t3dotgg in pingdotgg/t3code#19315 * fix(acp): custom models now reach the agent instead of failing to open by @t3dotgg in pingdotgg/t3code#19313 * fix(server): Claude no longer shows unavailable when its health check can't run in $HOME by @t3dotgg in pingdotgg/t3code#19320 * fix(server): stalled OAuth token requests no longer block credential calls by @t3dotgg in pingdotgg/t3code#19321 * fix(server): steered Claude turns no longer undercount token usage by @t3dotgg in pingdotgg/t3code#19314 * fix(server): closing a Claude session no longer leaves plugin MCP servers running by @t3dotgg in pingdotgg/t3code#19322 * fix(client-runtime): T3 Connect link timeouts explain the relay 504 by @t3dotgg in pingdotgg/t3code#19329 * fix(web): settle shortcut moves to the next thread like the sidebar by @t3dotgg in pingdotgg/t3code#19328 * fix(acp): Copilot's default agent no longer disappears from the Agent menu by @t3dotgg in pingdotgg/t3code#19330 * perf(server): SQLite checkpoints no longer block the event loop by @t3dotgg in pingdotgg/t3code#19324 * fix(mobile): incompatible environments now say whether to update the app or the host by @t3dotgg in pingdotgg/t3code#19331 * fix(web): live reasoning stays scrolled to the newest text while it streams by @t3dotgg in pingdotgg/t3code#19334 * fix(server): T3 Connect no longer stays down after a network change by @t3dotgg in pingdotgg/t3code#19335 * fix(clients): host images say when the connection lacks file access by @t3dotgg in pingdotgg/t3code#19337 * fix(clients): a resumed subagent no longer moves the later turn's Worked for row by @t3dotgg in pingdotgg/t3code#19338 * fix: Claude and Codex no longer time out behind mise wrappers by @t3dotgg in pingdotgg/t3code#19340 * perf(server): turns no longer re-read merged PRs from GitHub by @t3dotgg in pingdotgg/t3code#19344 * docs(settings): explain that provider update checks also gate the model catalog by @fixfon in pingdotgg/t3code#18208 * fix(web): an unsaved citation comment survives a question or approval by @t3dotgg in pingdotgg/t3code#19350 * fix(server): changing Claude effort no longer fails while background agents run by @t3dotgg in pingdotgg/t3code#19341 * fix(server): service updates no longer fail on full disks or large databases by @t3dotgg in pingdotgg/t3code#19311 ## New Contributors * @Baker-Harrison made their first contribution in pingdotgg/t3code#18890 * @tannerpolley made their first contribution in pingdotgg/t3code#19230 **Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261014.3093...v0.0.46-nightly.20261014.3105 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261014.3105
## What's Changed * chore(deps): Effect 4.0.4 and OpenCode 2.0.28, dropping the patches they made unnecessary by @juliusmarminge in pingdotgg/t3code#19213 * fix(server): a Claude 403 no longer tells you to log in again by @shivamhwp in pingdotgg/t3code#15872 * fix(server): persist only changed pull request links by @juliusmarminge in pingdotgg/t3code#19248 * fix(server): delegate_task explains that supervised runtime modes pause the child by @saphid in pingdotgg/t3code#14416 * fix(server): Claude subagent progress no longer re-stores the unchanged prompt by @Gigioxx in pingdotgg/t3code#18375 * fix(server): thread list reads no longer freeze the server on large databases by @t3dotgg in pingdotgg/t3code#19226 * perf(server): streamed events no longer rewrite the whole thread row by @Baker-Harrison in pingdotgg/t3code#18890 * docs: close PRs written by Gemini or Muse Wonder by @t3dotgg in pingdotgg/t3code#19286 * fix: update all no longer runs agents twice or loses background work by @t3dotgg in pingdotgg/t3code#19291 * fix(server): enforce one database owner and guard update rollback by @maria-rcks in pingdotgg/t3code#16102 * perf(server): reuse stored turn item positions by @tannerpolley in pingdotgg/t3code#19230 * perf(server): avoid quadratic resource history replay by @saphid in pingdotgg/t3code#18825 * fix(server): repair ownership UUID generation by @t3dotgg in pingdotgg/t3code#19298 * fix(client-runtime): slow config snapshots no longer drop working connections by @saphid in pingdotgg/t3code#14518 * fix(server): bound activity publishes so stalled responses release the worker by @saphid in pingdotgg/t3code#18830 * perf(shared): cached SQLite statements no longer hold large parameters by @t3dotgg in pingdotgg/t3code#19305 * fix(provider-cursor): Cursor text generation no longer leaks SQLite file handles on every call by @t3dotgg in pingdotgg/t3code#19310 * fix(server): make SQLite checkpoints durable on macOS by @t3dotgg in pingdotgg/t3code#19304 * perf(server): Codex plan streaming no longer commits every token by @t3dotgg in pingdotgg/t3code#19317 * fix(server): large file edits no longer store their full diff twice by @t3dotgg in pingdotgg/t3code#19316 * fix(web): settings save again after a stored value fails decode by @t3dotgg in pingdotgg/t3code#19312 * fix(server): HTML and Markdown attachments no longer fail OpenCode turns by @t3dotgg in pingdotgg/t3code#19319 * fix(server): worktree paths no longer vanish on git before 2.36 by @t3dotgg in pingdotgg/t3code#19315 * fix(acp): custom models now reach the agent instead of failing to open by @t3dotgg in pingdotgg/t3code#19313 * fix(server): Claude no longer shows unavailable when its health check can't run in $HOME by @t3dotgg in pingdotgg/t3code#19320 * fix(server): stalled OAuth token requests no longer block credential calls by @t3dotgg in pingdotgg/t3code#19321 * fix(server): steered Claude turns no longer undercount token usage by @t3dotgg in pingdotgg/t3code#19314 * fix(server): closing a Claude session no longer leaves plugin MCP servers running by @t3dotgg in pingdotgg/t3code#19322 * fix(client-runtime): T3 Connect link timeouts explain the relay 504 by @t3dotgg in pingdotgg/t3code#19329 * fix(web): settle shortcut moves to the next thread like the sidebar by @t3dotgg in pingdotgg/t3code#19328 * fix(acp): Copilot's default agent no longer disappears from the Agent menu by @t3dotgg in pingdotgg/t3code#19330 * perf(server): SQLite checkpoints no longer block the event loop by @t3dotgg in pingdotgg/t3code#19324 * fix(mobile): incompatible environments now say whether to update the app or the host by @t3dotgg in pingdotgg/t3code#19331 * fix(web): live reasoning stays scrolled to the newest text while it streams by @t3dotgg in pingdotgg/t3code#19334 * fix(server): T3 Connect no longer stays down after a network change by @t3dotgg in pingdotgg/t3code#19335 * fix(clients): host images say when the connection lacks file access by @t3dotgg in pingdotgg/t3code#19337 * fix(clients): a resumed subagent no longer moves the later turn's Worked for row by @t3dotgg in pingdotgg/t3code#19338 * fix: Claude and Codex no longer time out behind mise wrappers by @t3dotgg in pingdotgg/t3code#19340 * perf(server): turns no longer re-read merged PRs from GitHub by @t3dotgg in pingdotgg/t3code#19344 * docs(settings): explain that provider update checks also gate the model catalog by @fixfon in pingdotgg/t3code#18208 * fix(web): an unsaved citation comment survives a question or approval by @t3dotgg in pingdotgg/t3code#19350 * fix(server): changing Claude effort no longer fails while background agents run by @t3dotgg in pingdotgg/t3code#19341 * fix(server): service updates no longer fail on full disks or large databases by @t3dotgg in pingdotgg/t3code#19311 ## New Contributors * @Baker-Harrison made their first contribution in pingdotgg/t3code#18890 * @tannerpolley made their first contribution in pingdotgg/t3code#19230 **Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261014.3093...v0.0.46-nightly.20261014.3105 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261014.3105
* fix(web): context menus no longer scroll when they fit the window (pingdotgg#16776) * fix(server): checkpoint restore keeps a nested workspace on Windows (pingdotgg#14874) * Reject unknown params in t3_thread_read (pingdotgg#17823) * fix(desktop): Option-click on a chat link opens the system browser (pingdotgg#18238) * fix(mobile): new thread draft names its repo and says it is a new thread (pingdotgg#17611) Signed-off-by: Tiger Kaovilai <passawit.kaovilai@gmail.com> Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com> * fix(web): keep queued threads subscribed (pingdotgg#15293) Co-authored-by: maria <maria@kuuro.net> * test(server): Claude reset tests are skipped on Windows hosts, where their mock CLI cannot run (pingdotgg#18184) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): hide stash menu behind maximized panel (pingdotgg#18115) Co-authored-by: maria <maria@kuuro.net> * fix(web): sidebar toggle no longer sits under the macOS window buttons (pingdotgg#18193) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * fix(server): missing agent binaries report launch failure Return exit 125 when the Linux cgroup wrapper target is missing, including when /bin/sh is Bash. Preserve arguments and child exit codes. * feat(android): add Pull Requests tab (pingdotgg#18372) * fix(mobile): Forgejo change requests ask for the summary they require (pingdotgg#18455) * fix(server): cap automatic thread continuations and turn them on by default (pingdotgg#18461) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(mobile): stock tab bar, glass filter pills, and saved list filters (pingdotgg#18476) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): keep PR surfaces and Android tab selection visible across themes (pingdotgg#18479) * fix(mobile): keep preview count badges inside the working pill (pingdotgg#18449) * fix(mobile): show rounded pull request selection in the sidebar (pingdotgg#18480) * feat(web): model options for source control writer and review guide models (pingdotgg#18488) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * ci(mobile): cut a store build when the native fingerprint has no build (pingdotgg#18496) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): terminal colors no longer look washed out (pingdotgg#17168) * refactor(settings): centralize schema-declared secrets and inputs (pingdotgg#18505) * fix(mobile): restore native scroll-edge effects on forms and PRs (pingdotgg#18507) * feat(mobile): native-sized pull request action bar (pingdotgg#18527) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): preserve theme contrast across surfaces and actions (pingdotgg#18506) * refactor(mobile): share themed list rows and sections (pingdotgg#18510) * refactor(mobile): share themed toggle rows in settings (pingdotgg#18511) * refactor(mobile): share themed choice rows in settings (pingdotgg#18516) * fix(server): consolidate browser credential handling (pingdotgg#18509) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat: open T3 Code from a link with a prompt ready to send (pingdotgg#18454) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(release): drop placeholder allowBuilds entry that broke nightly builds (pingdotgg#18560) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * ci: fail PRs on invalid allowBuilds entries in pnpm-workspace.yaml (pingdotgg#18564) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): menu dismiss taps no longer press the view underneath (pingdotgg#18565) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(web): one sidebar click updates every machine and provider (pingdotgg#18053) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(release): avoid PowerShell crashes on Windows ARM (pingdotgg#18573) * fix(server): Forgejo pull requests report their head commit (pingdotgg#18463) * test(provider-acp): terminal kill test passes on Windows hosts (pingdotgg#18450) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): context meter no longer reads 1000k just under a million tokens (pingdotgg#17539) * fix(desktop): avoid Hyprland 0.48–0.50 Wayland color-manager startup crashes (pingdotgg#18566) Disable WaylandWpColorManagerV1 before Electron is ready only on native Wayland Hyprland sessions running a stock 0.48.0-0.50.1 release, which advertise FEATURE_SET_PRIMARIES but reject set_primaries (hyprwm/Hyprland#9444; fixed in 0.51.0 by hyprwm/Hyprland#11499). Any probe failure or explicit feature override keeps the default. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): iPhones on iOS 27.2 beta no longer open to a black screen (pingdotgg#18654) Co-authored-by: T3 Code Test <t3code-test@example.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): installs skip the Enriched math download again (pingdotgg#18679) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): setup wizards follow custom themes (pingdotgg#18725) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): resolve configured PR bases to branch names (pingdotgg#18754) * fix: expose running terminals and prevent setup install stalls (pingdotgg#18740) * fix(mobile): hide Claude Read image placeholders when previews exist (pingdotgg#18761) * fix(gitlab): merge request details report their head commit (pingdotgg#18608) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(server): rename built-in models from settings (pingdotgg#18840) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): Git actions follow the selected thread (pingdotgg#18862) * fix(desktop): preserve updater failure causes in diagnostics (pingdotgg#18864) * fix(web): attach dropped threads to pending answers (pingdotgg#18789) * fix(web): keep button text stable during press scaling (pingdotgg#18866) * fix(bitbucket): preserve PR head commits for review guides (pingdotgg#18402) * fix(server): return null for unresolved optional commands (pingdotgg#18871) * fix: show computer-use action titles and align app icons (pingdotgg#18865) * fix(server): apply confirmed Claude subagent outcomes (pingdotgg#18778) * fix(mobile): Browser page no longer logs a duplicate key warning (pingdotgg#18776) * fix(web): a numeric q in the pull requests URL no longer crashes the page (pingdotgg#18666) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(client): T3 Connect clients reconnect once a new tunnel is ready (pingdotgg#16554) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * fix(web): leaving the home page while the app loads no longer bounces you to a new draft (pingdotgg#18672) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): attachment images no longer re-download on every reconnect (pingdotgg#18824) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): a migration id clash stops startup with a clear error instead of crash-looping (pingdotgg#15925) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: PR Batch Tester <agent@local.test> * fix(server): a thread with an event type from a newer build can still resync after a downgrade (pingdotgg#15937) Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> Co-authored-by: PR Batch Tester <agent@local.test> * fix(server): Codex titles and branch names no longer start the user's MCP servers (pingdotgg#17058) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Yash Singh <saiansh2525@gmail.com> * fix(server): Claude thinking before a tool call stays a collapsed Thought (pingdotgg#18887) Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * perf(server): cached branch PR lookups no longer start git processes (pingdotgg#17063) * fix(web): compact merge buttons show when they need a second click (pingdotgg#18878) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): pull requests load from another environment when theirs is offline (pingdotgg#18698) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(web): collect active tool calls without array shifts (pingdotgg#18853) Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> * fix(web): center the pace icon on the limit card's "left" label (pingdotgg#18580) * fix(web): update everything includes npm-installed servers again (pingdotgg#18709) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): review guides find Bitbucket heads reported by short hash (pingdotgg#18900) Co-authored-by: Pawel Mikolajczuk <pmikolajczuk@atlassian.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): scheduled task model picker no longer shifts the dialog (pingdotgg#18940) * fix(ci): CodeRabbit reviews no longer request changes (pingdotgg#18954) * fix(web): links in HTML renders open like chat links (pingdotgg#18897) * fix(web): remember editor selections before opening folders (pingdotgg#19078) * fix(ci): retry Cursor webhook HTTP 400s on main (pingdotgg#19077) * fix(web): let context handoff details use the available width (pingdotgg#19098) * fix(server): snoozed threads allow queued automatic wakes (pingdotgg#19099) * fix(web): merge button fits its label and animates width changes (pingdotgg#18478) * fix(web): Cmd+Enter creates the new project while an option is highlighted (pingdotgg#18901) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(pi): queue turn-start prompts when native work is running (pingdotgg#18639) * fix(pi): load T3 tool schemas for completion gateways (pingdotgg#18643) * fix(devices): report agent tool startup failures (pingdotgg#18502) * fix(web): settings warn when an environment silently drops a setting (pingdotgg#18334) * fix(desktop): stop unsolicited Messages code autofill (pingdotgg#19118) * feat(chat): show pending context handoff when selecting a model (pingdotgg#18369) Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): collect SQLite planner statistics when the database opens (pingdotgg#18471) * fix(server): failed threads no longer scan every tool item for errors (pingdotgg#18628) * fix(web): keep clone folder names readable in the setup project picker (pingdotgg#12474) Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> Co-authored-by: Yash Singh <saiansh2525@gmail.com> * fix(composer): allow slash skill search within messages (pingdotgg#19107) * fix(claude): default background text generation to haiku 5.5 (pingdotgg#18781) * chore(typecheck): bump tsc-rs to 0.6.0 (pingdotgg#19187) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): keep OpenCode timeouts from crashing the error formatter (pingdotgg#12469) Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> Co-authored-by: Yash Singh <saiansh2525@gmail.com> * feat(server): run delegated tasks in separate worktrees (pingdotgg#19102) * fix(git): preserve whitespace in file paths (pingdotgg#12464) (pingdotgg#12465) Co-authored-by: Yash Singh <saiansh2525@gmail.com> * fix(server): stop fsyncing SQLite on every commit so slow disks no longer drop clients (pingdotgg#19205) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(chat): make links in agent questions clickable (pingdotgg#19197) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(usage): show one Antigravity account once, not once per machine (pingdotgg#19207) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): Android beta links point to the APK release, not the banned Google group (pingdotgg#18955) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(client): "Subagent needs input" no longer sticks after the subagent finishes (pingdotgg#18996) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): stop question answers from resetting the editor caret (pingdotgg#11337) * fix(web): app shortcuts keep working after clicking into an HTML render (pingdotgg#18898) * fix(source-control): keep distinct CI checks with overlapping names (pingdotgg#19162) Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com> * fix(server): avoid excessive backtracking in webhook templates (pingdotgg#19160) Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com> * fix(web): auto-merge button fits its label and animates width changes (pingdotgg#19111) * fix(web): scroll terminal output with touch gestures (pingdotgg#11305) * feat(web): view visual replies full screen with zoom (pingdotgg#17561) * fix(web): removing a project no longer opens a new thread for it (pingdotgg#15864) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * fix(server): usage hubs with a host-less URL no longer vanish from Limits (pingdotgg#11368) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): search bar animates in on iOS 26+ instead of popping (pingdotgg#19209) * chore(deps): Effect 4.0.4 and OpenCode 2.0.28, dropping the patches they made unnecessary (pingdotgg#19213) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): a Claude 403 no longer tells you to log in again (pingdotgg#15872) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * fix(server): persist only changed pull request links (pingdotgg#19248) * fix(server): delegate_task explains that supervised runtime modes pause the child (pingdotgg#14416) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: SAPHID <saphid@users.noreply.github.com> * fix(server): Claude subagent progress no longer re-stores the unchanged prompt (pingdotgg#18375) * fix(server): thread list reads no longer freeze the server on large databases (pingdotgg#19226) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: Alex Southwell <saphid@gmail.com> * perf(server): streamed events no longer rewrite the whole thread row (pingdotgg#18890) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * docs: close PRs written by Gemini or Muse Wonder (pingdotgg#19286) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix: update all no longer runs agents twice or loses background work (pingdotgg#19291) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): enforce one database owner and guard update rollback (pingdotgg#16102) Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * perf(server): reuse stored turn item positions (pingdotgg#19230) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): avoid quadratic resource history replay (pingdotgg#18825) Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> * fix(server): repair ownership UUID generation (pingdotgg#19298) * fix(client-runtime): slow config snapshots no longer drop working connections (pingdotgg#14518) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com> Co-authored-by: SAPHID <saphid@users.noreply.github.com> * fix(server): bound activity publishes so stalled responses release the worker (pingdotgg#18830) Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> * perf(shared): cached SQLite statements no longer hold large parameters (pingdotgg#19305) Takeover of pingdotgg#17785 by @tris203. Executions binding more than 64 KiB of text or blob data run on a throwaway statement, in the writer and the reader worker, so cached statements no longer pin large payloads in native memory. Co-authored-by: tris203 <admin@snappeh.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(provider-cursor): Cursor text generation no longer leaks SQLite file handles on every call (pingdotgg#19310) Takeover of pingdotgg#18154. Per-call SqliteLocalAgentStore so Cursor text generation closes its SQLite handles, and the agent now closes before its store on sign-out. Fixes pingdotgg#18151. Co-authored-by: Aaron Queen <bompus@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): make SQLite checkpoints durable on macOS (pingdotgg#19304) Co-authored-by: Soroush Baraouf <soroushraouf44@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): Codex plan streaming no longer commits every token (pingdotgg#19317) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): large file edits no longer store their full diff twice (pingdotgg#19316) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): settings save again after a stored value fails decode (pingdotgg#19312) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): HTML and Markdown attachments no longer fail OpenCode turns (pingdotgg#19319) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): worktree paths no longer vanish on git before 2.36 (pingdotgg#19315) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(acp): custom models now reach the agent instead of failing to open (pingdotgg#19313) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): Claude no longer shows unavailable when its health check can't run in $HOME (pingdotgg#19320) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): stalled OAuth token requests no longer block credential calls (pingdotgg#19321) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): steered Claude turns no longer undercount token usage (pingdotgg#19314) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): closing a Claude session no longer leaves plugin MCP servers running (pingdotgg#19322) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(client-runtime): T3 Connect link timeouts explain the relay 504 (pingdotgg#19329) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): settle shortcut moves to the next thread like the sidebar (pingdotgg#19328) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(acp): Copilot's default agent no longer disappears from the Agent menu (pingdotgg#19330) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): SQLite checkpoints no longer block the event loop (pingdotgg#19324) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): incompatible environments now say whether to update the app or the host (pingdotgg#19331) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): live reasoning stays scrolled to the newest text while it streams (pingdotgg#19334) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): T3 Connect no longer stays down after a network change (pingdotgg#19335) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(clients): host images say when the connection lacks file access (pingdotgg#19337) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(clients): a resumed subagent no longer moves the later turn's Worked for row (pingdotgg#19338) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix: Claude and Codex no longer time out behind mise wrappers (pingdotgg#19340) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): turns no longer re-read merged PRs from GitHub (pingdotgg#19344) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * docs(settings): explain that provider update checks also gate the model catalog (pingdotgg#18208) Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com> * fix(web): an unsaved citation comment survives a question or approval (pingdotgg#19350) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): changing Claude effort no longer fails while background agents run (pingdotgg#19341) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): service updates no longer fail on full disks or large databases (pingdotgg#19311) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: SAPHID <saphid@users.noreply.github.com> * fix(clients): # suggestions include pull requests linked to the thread (pingdotgg#19357) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(clients): pairing a switched-off computer again turns it back on (pingdotgg#19354) Co-authored-by: Mnigos <makowskiigor@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(cli): t3 triage reports the server's version, not its own, as the user's build (pingdotgg#19359) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(client-runtime): a new WSL backend no longer shows Limited permissions until reload (pingdotgg#19361) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): action shortcuts recorded in the browser now save (pingdotgg#19365) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(clients): large pasted images no longer break later Claude image reads (pingdotgg#19364) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): settled and idle-released threads no longer stay Waiting (pingdotgg#19355) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(client-runtime): merged pull requests are no longer re-read every minute (pingdotgg#19374) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): new Codex threads no longer miss slow MCP servers' tools (pingdotgg#19368) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(github): requested teams now show in pull request reviewers (pingdotgg#19375) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(ssh): SSH launch no longer picks a port another server answers on (pingdotgg#19372) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): a failed T3 Connect relink no longer leaves a stale managed tunnel (pingdotgg#19383) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(shared): Windows .cmd shims no longer print DEP0190 on every spawn (pingdotgg#19385) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): commit and title generation use your custom model when no text model is set (pingdotgg#19386) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): T3 Connect settings can repair a link that drifted to publish-only (pingdotgg#19389) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): failed Claude text generation shows the CLI's own error (pingdotgg#19394) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): terminal tells the shell its new width as soon as you release a resize drag (pingdotgg#19395) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): keybindings page says to connect an environment when none is connected (pingdotgg#19400) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(chat): Codex follow-up suggestions show their label instead of raw markup (pingdotgg#19401) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): open in editor works over Tailscale SSH without a local sshd (pingdotgg#19402) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): a deregistered T3 Connect host shows it was removed and offers a relink (pingdotgg#19379) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): idle servers no longer scan every process every 5 seconds (pingdotgg#19399) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * chore(typecheck): bump tsc-rs to 0.7.0 (pingdotgg#19408) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): bound Bitbucket API requests with 30s timeout (pingdotgg#14140) * fix(server): new worktrees no longer fail when a background fetch runs at the same time (pingdotgg#19411) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): thread search runs on the SQLite reader worker (pingdotgg#19382) * perf(server): traces keep ~40% more history and no longer block the event loop (pingdotgg#19430) Co-authored-by: Aaron Queen <bompus@users.noreply.github.com> Co-authored-by: Daniyal <115576848+daniyal-sh@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(shared): SQLite checkpoints no longer fall back to the main thread silently (pingdotgg#19417) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): unchanged node updates no longer write to SQLite (pingdotgg#19429) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(ssh): reconnecting keeps the remote server and its agents running (pingdotgg#19432) Co-authored-by: puccez <emanuele.puccetti@icloud.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: luke2x <97411838+luke2x@users.noreply.github.com> * feat(observability): SQL spans show lock wait and connection; stalls keep their own history (pingdotgg#19425) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): threads woken by notifications no longer load their whole history (pingdotgg#19423) Co-authored-by: Eldar Politkin <32969822+EldarPolitkin@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): worktree cleanup no longer runs sweeps back to back (pingdotgg#19418) Co-authored-by: Tanner Sharon <tannermsharon@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): only Claude progress updates before a tool call show as text (pingdotgg#18923) Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * fix(pr): keep known state in sync across controls (pingdotgg#18408) * fix(web): review summary only says optional when it is (pingdotgg#18451) * fix(web): subagent lists in the composer banner no longer start lines with a comma (pingdotgg#19170) * fix(web,mobile): pull request filters no longer offer the Scratch folder (pingdotgg#19179) * fix(web,mobile): pull request project filter follows the sidebar order (pingdotgg#19180) * feat(settings): inactivity auto-settle can keep threads with a PR (pingdotgg#14642) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): Claude works next to an enterprise managed-mcp.json (pingdotgg#18706) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web,mobile): muse code uses meta's official blue logo (pingdotgg#19562) * fix(desktop): import CA trust variables from the login shell (pingdotgg#19604) * fix(server): preview copy only forwards text from the viewer's copy keys (pingdotgg#19561) * fix(muse): Supervised threads ask before commands again (pingdotgg#19558) * fix(server): restarts no longer stall on old subagent result deliveries (pingdotgg#19631) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(clients): a thread comes back when its subagent needs approval (pingdotgg#19630) A delegated subagent waiting on an approval or question now shows on its parent thread: Working section, status badge, notifications, snooze, and the composer banner on web and mobile. Takes over pingdotgg#19614. Co-authored-by: lovelycodemonkey <ghassemimahyad@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(usage): cold usage scans no longer stall the server (pingdotgg#19446) Co-authored-by: Victor Vogel <263261067+only21mil@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): "Always allow this session" stops Codex asking for every command (pingdotgg#19635) After "Always allow this session", the Codex adapter answers later command (or file change) approvals in that thread for the rest of the session. A turn in another runtime mode, or the thread unloading, ends it. Takes over pingdotgg#19598. Co-authored-by: lovelycodemonkey <ghassemimahyad@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): keep vertical cursor stops outside styled markers (pingdotgg#19651) * fix(web): mermaid code toggle stays in place when switching views (pingdotgg#19601) * fix(server): Reveal in File Explorer and browser launches work on Windows again (pingdotgg#19656) Windows PowerShell started with detached: true exits 0 without running its command. Native Windows PowerShell launches (reveal and browser) now start attached, unref'd, with ignored stdio. Takes over pingdotgg#10387. Fixes pingdotgg#11780. Co-authored-by: doubletwisted <118005273+doubletwisted@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): GitHub App tokens can merge and use other write actions (pingdotgg#19103) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): commands on busy threads stop decoding thousands of finished tool nodes (pingdotgg#19675) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): use workspace-scoped Bitbucket permissions API (pingdotgg#10984) Co-authored-by: RealDoc06 <73218979+RealDoc06@users.noreply.github.com> Co-authored-by: Theo Browne <me@t3.gg> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(composer): read dropped threads across environments (pingdotgg#15210) * test(web): remove duplicate change request parser tests (pingdotgg#13591) Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> * fix(server): a delegated task's question ends the parent's blocking wait (pingdotgg#19538) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): a delegated task's question now wakes its parent agent (pingdotgg#19521) Co-authored-by: maria-rcks <maria@kuuro.net> * fix(server): a cancelled delegated task no longer shows its child's question (pingdotgg#18459) Co-authored-by: maria-rcks <maria@kuuro.net> * feat(storage): clean up settled thread worktrees (pingdotgg#15208) Co-authored-by: maria-rcks <maria@kuuro.net> * feat(web,mobile): waiting status shows a dot-dashed icon and a timer (pingdotgg#19617) * feat(pr): delete branches after merge or close (pingdotgg#19257) * fix(web): the sidebar no longer keeps old renders alive (pingdotgg#19852) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): update everything no longer waits on slow servers, and shows progress in the sidebar (pingdotgg#19837) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): text generation no longer falls back to the expensive flagship model (pingdotgg#19722) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(web): setting to open pull request links on GitHub (pingdotgg#19719) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): middle-click opens pull requests in the browser, like cmd+click (pingdotgg#19854) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): the chat view and composer no longer keep old renders alive (pingdotgg#19869) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): steering no longer ends running subagents (pingdotgg#19210) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web,mobile): sent queued messages say "from queue", not "queued" (pingdotgg#19849) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Rodrigo Brechard <rodrigobrechard@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): OTLP exports say which machine and build they came from (pingdotgg#19370) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(prs): bound refreshes by each tracker read (pingdotgg#19403) * fix(mobile): new threads no longer get stuck on Starting (pingdotgg#15870) * fix(mobile): agent-spawned threads can be mentioned from the @ picker (pingdotgg#15841) Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): pull request lists fill the available scroll viewport (pingdotgg#18767) * fix(server): Cursor threads in Auto use Cursor's Auto-review (pingdotgg#19712) Co-authored-by: Cursor <cursoragent@cursor.com> * fix(web): text selection keeps going under the turn minimap (pingdotgg#16748) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * fix(server): Antigravity installs on Windows ARM (pingdotgg#18472) * perf(server): cut fff-node FFI marshaling overhead on large workspaces (pingdotgg#18514) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(server): replace Windows PowerShell port polling with netstat (pingdotgg#18524) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): Windows Codex install uses system tar and retries rename (pingdotgg#18523) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(providers): fall back to windows-x86_64 ACP binaries on Windows on ARM (pingdotgg#18521) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): fail runs whose provider stream ends without a terminal (pingdotgg#19131) Co-authored-by: GPT-6.1-Sol at high effort <noreply@openai.com> Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): a dropped HTTP/2 connection no longer crashes the server (pingdotgg#18378) Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): Stop re-probing hosting CLIs for unrecognized hosts (pingdotgg#19692) Co-authored-by: Victor Vogel <263261067+only21mil@users.noreply.github.com> Co-authored-by: Jorrin <43169049+JorrinKievit@users.noreply.github.com> Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): Android nested list markers no longer overlap their text (pingdotgg#19970) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): release iOS audio session after video playback (pingdotgg#18539) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): keep wrapped split diffs from jumping while scrolling (pingdotgg#20022) * fix(web): model picker search lists newest models first (pingdotgg#18494) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Gabriel De Andrade <gabrieldeandradeleal@gmail.com> * fix(acp): one malformed session update no longer ends the session (pingdotgg#20015) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(web): HTML renders show a layout skeleton and reuse cached pages (pingdotgg#19654) * chore: change product branding from Alpha to Beta (pingdotgg#20032) * feat(web): carry the open upstream Mermaid fixes Completed Mermaid blocks render while a reply streams (`pingdotgg#18308`), copying a diagram copies its source (`pingdotgg#16249`), and math labels inside diagrams render (`pingdotgg#16198`). Taken from each PR's current head. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(web): render LaTeX math in chat `pingdotgg#14574` at its current head: $…$, $$…$$, \(…\) and \[…\] typeset with KaTeX behind Settings → Appearance → Render math. Includes the fix that keeps `$HOME` as code after an unmatched dollar, first made in this fork. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat: fork setup: math on by default, FORK.md, Linux build script Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs: FORK.md for the v0.1.0 base Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Signed-off-by: Tiger Kaovilai <passawit.kaovilai@gmail.com> Co-authored-by: Gaya KACI <163902005+kacigaya@users.noreply.github.com> Co-authored-by: Jonas B. <122468993+JonasFocus@users.noreply.github.com> Co-authored-by: Miklós Fazekas <mfazekas@szemafor.com> Co-authored-by: Ali Younes <159104116+whoisaldo@users.noreply.github.com> Co-authored-by: Tiger Kaovilai <passawit.kaovilai@gmail.com> Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com> Co-authored-by: ANSH SINGH <anshsinghapa@gmail.com> Co-authored-by: maria <maria@kuuro.net> Co-authored-by: AdEx-Partners-DE <stark.burns@adexpartners.com> Co-authored-by: Saikrishna Ambeti <saikrisha.ambeti1@gmail.com> Co-authored-by: Hasan Shoaib <142208891+realhasanshoaib@users.noreply.github.com> Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> Co-authored-by: Jérôme Poskin <jerome@moinax.com> Co-authored-by: Alex <me@pixp.cc> Co-authored-by: oliver <97427849+flamboh@users.noreply.github.com> Co-authored-by: Theo Browne <me@t3.gg> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Ryan <66844656+RVZO6@users.noreply.github.com> Co-authored-by: Prathmesh Vhatkar <psv2522@gmail.com> Co-authored-by: luke <97411838+luke2x@users.noreply.github.com> Co-authored-by: kronk0s <bessaadkhalil@gmail.com> Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com> Co-authored-by: T3 Code Test <t3code-test@example.com> Co-authored-by: Dara Adedeji <76637177+SunkenInTime@users.noreply.github.com> Co-authored-by: Yash Singh <saiansh2525@gmail.com> Co-authored-by: Scott Norteman <snorteman@gmail.com> Co-authored-by: Paweł Mikołajczuk <pawel@mikolajczuk.in> Co-authored-by: Tristan Knight <admin@snappeh.com> Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Bryce Bjork <brycedbjork@gmail.com> Co-authored-by: Antony <97451137+TonybynMp4@users.noreply.github.com> Co-authored-by: Alex Southwell <saphid@gmail.com> Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: Akash Moradiya <64416825+akash3444@users.noreply.github.com> Co-authored-by: Pawel Mikolajczuk <pmikolajczuk@atlassian.com> Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com> Co-authored-by: Otavio Salvador <otavio@ossystems.com.br> Co-authored-by: tachytelicdetonation <47115683+tachytelicdetonation@users.noreply.github.com> Co-authored-by: Bilal Bakr <62337003+Bil0000@users.noreply.github.com> Co-authored-by: Defmon3 <111503233+Defmon3@users.noreply.github.com> Co-authored-by: Simone <lucenz@proton.me> Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Guillermo Casanova <75276669+Gigioxx@users.noreply.github.com> Co-authored-by: Hessboi <101525047+Baker-Harrison@users.noreply.github.com> Co-authored-by: Tanner Polley <tannerwpolley@gmail.com> Co-authored-by: Aaron Queen <bompus@users.noreply.github.com> Co-authored-by: Soroush Baraouf <soroushraouf44@gmail.com> Co-authored-by: fixfon <12512757+fixfon@users.noreply.github.com> Co-authored-by: Mnigos <makowskiigor@gmail.com> Co-authored-by: Kevin Rajan <7121943+kvnloo@users.noreply.github.com> Co-authored-by: Daniyal <115576848+daniyal-sh@users.noreply.github.com> Co-authored-by: puccez <emanuele.puccetti@icloud.com> Co-authored-by: Eldar Politkin <32969822+EldarPolitkin@users.noreply.github.com> Co-authored-by: Tanner Sharon <tannermsharon@gmail.com> Co-authored-by: lovelycodemonkey <ghassemimahyad@gmail.com> Co-authored-by: Victor Vogel <263261067+only21mil@users.noreply.github.com> Co-authored-by: doubletwisted <118005273+doubletwisted@users.noreply.github.com> Co-authored-by: Sebastian Pugliese <73218979+RealDoc06@users.noreply.github.com> Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: Rodrigo Brechard <rodrigobrechard@gmail.com> Co-authored-by: nekohasekai <i@sekai.icu> Co-authored-by: Lars Nieuwenhuis <35393046+lnieuwenhuis@users.noreply.github.com> Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Cameron Chisholm <cam@camchis.com> Co-authored-by: owenferg <114884536+owenferg@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Robert Nisipeanu <github@nisipeanu.com> Co-authored-by: Max Weinbach <maxweinbach5@gmail.com> Co-authored-by: Alb11747 <albertli_042@hotmail.com> Co-authored-by: Igor Makowski <56691628+Mnigos@users.noreply.github.com> Co-authored-by: Mike Olson <mwolson@member.fsf.org> Co-authored-by: Jorrin <43169049+JorrinKievit@users.noreply.github.com> Co-authored-by: Christopher Ehrlich <ehrlich.christopher@gmail.com> Co-authored-by: Gabriel De Andrade <gabrieldeandradeleal@gmail.com>
Fixes #2867.
Packaged desktop builds start the server with cwd =
$HOME. The Claude--versionhealth check inherited that cwd, and the capability probe used it. Someclaudewrappers (containers, sandboxes, governance shims) refuse to run outside a project, so Claude showed as unavailable and the user never reached a session.Fix
The Claude driver now runs its instance-level probes in the server's
stateDir. This is T3's own data directory. It is never a project, and server startup creates it. The change applies to the capability probe, its cache key, and the status check.runClaudeCommandnow takes an optionalcwd.Session spawns and per-thread workspace probes (
snapshotForCwd) still use the thread's directory. They are not changed.Proof
I started a real server from a fake
$HOME, with aclaudeshim on PATH that logs its cwd and refuses to run in$HOME:--versionin$HOMEerror: installed but failed to run--versionand SDK probe in$HOME<base-dir>/userdataA new test in
ProviderInstanceRegistry.test.tsuses the mock CLI with an opt-in guard that refuses to run outside one directory. Without the fix it fails witherror. With only the--versionhalf it fails withwarning. It passes with the full fix.vp test runonProviderInstanceRegistry,ProviderRegistry, andClaudeCapabilitiesProbetests: 77 passed. Server typecheck and lint on the changed files are clean.Diagnosis credit: #19174, which found the root cause. This PR is a separate implementation.
Reviewed with sol-loop: 1 round with GPT-6.1-Sol.
Model and harness: Claude Opus 5.5 in Claude Code via T3 Code.
🤖 Generated with Claude Code