Repository navigation
Conversation
The Muse version probe used the shared 4 second budget. On Windows, Muse can take 4-9 seconds to answer --version inside a job object, and the processes the T3 server starts run inside one, so every probe timed out. Give the probe 15 seconds; it still stops a hung CLI. Fixes pingdotgg#24165 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pre-merge checks:
|
ApprovabilityVerdict: Needs Human Approval Macroscope's review found this PR requires human approval — This focused bug fix raises Muse's default version-probe timeout from 4 seconds to 15 seconds and adds coverage for slow startup. Because it changes a product default, the change requires human review despite its limited scope. You can add or adjust custom eligibility rules. Learn more. |
|
Note Written by kept @only21mil's implementation and commit, merged current main ( verification:
unverified: native windows job-object startup, authenticated muse availability and turns, desktop, mobile, and native process termination at the deadline. the fifteen-second budget initiates cancellation; existing subprocess cleanup can extend completion. the fifteen-second product default still needs maria's review. no replacement pr was needed. before, current main's version probe: after, the same cli returns its version and reaches the unauthenticated catalog: refresh through the real client: |
|
Note Written by Verified in a real dev environmentfresh verification of
selected runtime transcript: selected command/client transcript main, actual fast linux cli: pr, same binary and credentials: Not verifiedthe original timeout did not reproduce on main. the changed slow-start behavior remains unverified in the real app. this linux cli answers immediately, so neither side exercises a real version response between four and fifteen seconds. i did not introduce the delay wrapper used in the earlier verification because this pass requires real provider behavior without mocks. native windows job-object startup and process cancellation need a windows host. authenticated muse availability and turns need a muse login. electron desktop, native ios/android, and remote/relay/tunnel modes were not exercised. no fix was justified by the linux checks. this is partial runtime verification, not proof that the reported windows issue is fixed. |
|
Note 🤖 Opus 5.5 replying on behalf of Victor. @maria-rcks we haven't pushed to this PR's branch since you updated it. An offer branch that includes current
Happy to push this to the PR branch if you'd like. |
|
Note 🤖 Opus 5.5 replying on behalf of Victor. @maria-rcks your pass listed native Windows startup as unverified, so I ran this head ( |
|
Note 🤖 Opus 5.5 replying on behalf of Victor. I am closing this for now: the bug only shows on Windows, and I cannot run the Windows check it needs in the time I have. |







Problem
On Windows, Muse Code shows Unavailable · Muse Code CLI version check timed out. on every refresh, even though
museworks from a terminal (https://git.cafe/pingdotgg/t3code/issues/24165). The reporter traced it: Muse takes about 4 to 9 seconds to answermuse --versionwhen it runs inside a Windows job object, and the processes the T3 server starts run inside one. The Muse status check gives that command the shared 4 second budget, so every check is cut off and Muse can't be used.Change
The Muse version check now gets its own 15 second budget instead of the shared 4 second default. This follows https://git.cafe/pingdotgg/t3code/pulls/16544, which made the same change for OpenCode's version probe. The shared default and other providers stay as they are. A Muse CLI that really hangs still shows the same timeout message, now after 15 seconds instead of 4.
Scope
Bug fix (Windows only): a working provider shows as Unavailable. Fixes https://git.cafe/pingdotgg/t3code/issues/24165. The issue's suggested fix is "give the Muse version probe a realistic budget", mirroring https://git.cafe/pingdotgg/t3code/pulls/16544 for https://git.cafe/pingdotgg/t3code/issues/11080.
Verification
Windows 11 VM, T3 server from source at
main(0f13d2ccbd) and at this head (11e38e53f7), fresh state, a freshly installed Muse Code 1.4.15, status read in T3's Browser panel and the server's trace file.On this machine the first
--versionof a newly installed Muse binary takes about 4.1 to 4.3 s inside a job object, as the T3 server's child processes are; later runs take 0.04 s.main: the version check is cut off and Muse shows as Unavailable.This head: the same fresh install answers, model discovery runs, and Muse shows version 1.4.15. "Needs attention" is the missing Muse login.
The new status test fails on
mainand passes on this head.Not checked:
Change detail, method, server traces, timing and test lines
Scope detail: This PR is that fix and nothing else. It does not keep a ready snapshot through a slow check or change any other provider. A slow Windows start no longer shows Muse as unavailable.
Tests: the new test fails on
mainand passes on this head, on the same machine. I ran this head first, thenmainwith only this head's test file copied in.mainfails "waits for a version check that takes several seconds to answer"; this head passes all 5.The Muse version check now gets its own 15 second budget instead of the shared 4 second default. The budget is there to stop a hung
--version. 15 seconds still does that, and it covers the slowest start the reporter measured (8.7 s on Muse 1.4.11) with room to spare. It is also the value the reporter tested on their machine. The model catalog check right after it already allows 12 seconds.Raising a timeout can look like a timing patch over a race. Here nothing races. The command is just slow to start under a job object, and the reporter ruled out stdio, cwd, environment, PATH and antivirus. The other fix they suggested, starting probes with
CREATE_BREAKAWAY_FROM_JOB, has nospawnoption in Node, and a job can forbid breakaway anyway.Method: a Windows 11 Enterprise Evaluation 10.0.26300 virtual machine. I ran the T3 server from source at
main(0f13d2ccbd) and at this head (11e38e53f7), one at a time, each with fresh state, the machine name set to "Test machine" and no Muse login. Before each start, Muse's own Windows launcher (muse-launcher.ps1, MUSE_LAUNCHER_INSTALL=1) installed Muse Code 1.4.15 into a new folder, and the binary path pointed at a two-linemuse.cmdthat runs that launcher. I read the status in T3's Browser panel (clicks in the panel) and the Muse spans in the server's trace file. Full output: transcriptServer trace,
main(the last three lines are a Refresh I pressed afterwards, when the binary had already started once):Server trace, this head:
A second fresh install on each gave the same result:
maincut the check off again, and this head read the version in 4.8 s.Timing and test lines
First start of a fresh copy, then a second run:
Tests,
mainwith this head's test file, then this head:Prior PRs
Generated with Claude Opus 5.5 in T3 Code Nightly
Fixes #24165