Repository navigation
Conversation
… not installed Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — The restart command now explains when an installed service belongs to another T3 home instead of reporting it as absent. This changes diagnostic text only; restart behavior and home isolation remain unchanged. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
|
Note Written by Verified in a real dev environmentreproduced on github/main on the original pr head, both re-verified the repaired cli against the real unit:
started one dev server at a time, using isolated data. used repo Playwright with system Chrome to add a real git project and create threads through the web client. real Codex
Not verifiedmacOS launchd, Windows, native desktop and iOS/Android clients, relay/tunnel connections, and a restart queued from inside the installed service were not exercised on this Linux VM. the installed service runtime is the released t3@0.1.6; the restart commands and dev web/server came from the checked-out source. other providers were not exercised because this change is in the provider-independent cli message. |


Problem
The background service unit is per user, but each unit serves one T3 home. When
t3 service restartruns with a different home than the one the service was installed for (another--base-dir, or a differentT3CODE_HOME),BootService.restartcorrectly skips the restart. The command then prints "T3 Code service is not installed." That's wrong: a service is installed, it just belongs to another home.The message also points the user the wrong way. Someone told "not installed" will usually run
t3 service installnext, and on current main that rewrites the per-user unit onto the wrong home (the empty-home problem in #23858).Change
When restart returns
"skipped"and the status read just before it says a unit is installed,t3 service restartnow prints the messaget3 upalready uses for the same outcome: "The installed service runs another T3 home, so it was not restarted. Pass its --base-dir." It still prints "not installed" when no unit exists. The exit code is unchanged, the same as thet3 upsibling.Scope and approval
Very small, focused fix for an obvious bug, so no prior issue: one command printed a false state for an outcome its sibling (
t3 up) already reports correctly. The fix changes 3 lines inservice.tsand adds one table test.Overlap search: the local PR index plus REST searches for "service restart", "runs another T3 home", and "service is not installed". The closest match is open #23878, which handles another home's service in
t3 service statusandt3 service install. It doesn't toucht3 service restart(I checked itsservice.tspatch). #14361, #25924, #28565, and #25237 change how restart works, not this message.Verification
vp test run src/cli/service.test.ts→restart explains why it skipped another home's service:Expected: "runs another T3 home",Received: "T3 Code service is not installed."vp test run src/cli/service.test.ts→ 10 passed (10), rerun after rebasing onto the latest main.CI=true vp run check:changed: format, lint, knip, typecheck, and tests all pass.BootServicethe same way the existing service command tests do.Reviewed with sol-loop: 1 round with GPT-6.1 Sol on high. Sol verdict: approved.
Created with Claude Opus 5.5 in Claude Code (T3 Code).
🤖 Generated with Claude Code