# fix\(server\): name exact recovery steps when a stale CLI blocks the service · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/commit/dd9793b9dca694d5303dbc35ed90a146af4d9272)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

Requested revision: dd9793b9dca694d5303dbc35ed90a146af4d9272

Requested commit: dd9793b9dca694d5303dbc35ed90a146af4d9272

Commit: dd9793b9dca694d5303dbc35ed90a146af4d9272

Tree: bac95e957bb0377902597aa2dd57aa44aa22dae0

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
fix(server): name exact recovery steps when a stale CLI blocks the service

A blocked launcher preflight only said to update the launcher, so a user
whose PATH resolved an old npm/nvm `t3` kept running `t3 service update`,
which reinstalled that same stale CLI and reported success.

The preflight reason now names the offered and required launcher
protocols, the exact-version installer command, `t3 --version` and
`which -a t3` to spot a shadowed CLI, and the installer's default
`~/.local/bin/t3 service install`. It also says a desktop app update
does not update the CLI. `t3 service install`/`update` no-op lines now
name the CLI entry script or executable that ran.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

```

## Parents

- [0e141f470c045f79003628ebc21db4d2257e9bf7](https://git.cafe/pingdotgg/t3code/commit/0e141f470c045f79003628ebc21db4d2257e9bf7?format=markdown)

[Source at this commit](https://git.cafe/pingdotgg/t3code/tree/dd9793b9dca694d5303dbc35ed90a146af4d9272?format=markdown)
