You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Triage files stay on the first machine when the triage draft is switched to another machine #33771
Started "Triage an issue" in the desktop app from a thread on a remote machine (A). A's server wrote the session folder. The draft was then switched to the local machine (B) with the composer's "Run on" picker and sent. The thread ran on B, but its prompt still linked ~/.t3/userdata/triage//triage-playbook.md, which exists only on A. The agent on B found no playbook and no context file. Both Macs use the same home path, so the link looked valid.
Diagnosis
useStartTriage calls prepareTriage and openScratch on the picked machine, then seeds the draft with an absolute path on that machine (buildTriageAppPrompt). useDraftEnvironmentRouting.onEnvironmentChange retargets a No project draft to another machine and keeps the prompt. Nothing prepares the session again, warns, or blocks the switch. The context file also describes A's server, not the one the thread runs in. useStartTriage.ts, useDraftEnvironmentRouting.ts and triagePrompt.ts are byte-identical in v0.1.7 and main (2922e8f).
Steps to reproduce
Replayed 2026-11-10.
Desktop app with local machine B and a connected remote machine A.
Open a thread on A.
Command palette (Cmd+K) -> "Triage an issue". A draft opens for A.
Switch the draft to B with the "Run on" picker in the composer.
Send.
Expected: the playbook and context are readable where the thread runs.
Actual: the thread runs on B and the files exist only on A.
Version
Desktop client 0.1.7; machine A server 0.1.8-nightly.20261106.4262; machine B server 0.1.7
Environment
macOS 27.0.0 arm64 on both machines; desktop app on B; A connected as a remote environment
Evidence
UTC, 2026-11-10, from B's server trace and both file systems:- 08:49:34 server.prepareTriage and projects.ensureScratch go to A; A writes triage/2026-11-10T08-49-34-092Z (context.md, triage-playbook.md).- 08:49:45 the draft's workspace requests move to B.
- 08:49:58 thread created on B, in B's scratch folder.- 08:50:02 Read of the linked path on B fails: "File does not exist". B's triage folder was last modified on Oct 30.
The same outcome happened on 2026-11-09 (A wrote 23:35:39, thread on B at 23:36:31).
Related issues
None found
Fix applied or workaround
Fetch the playbook from main, or run npx t3 triage on the machine where the thread runs. Starting triage from a thread on the machine you want avoids it.
Activity