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
Windows: T4 gets its own install identity, so winget never replaces it with upstream T3 Code #136
T4's Windows installer registers the app under the same uninstall key as upstream T3 Code. electron-builder derives that key (the product code e9197887-efb3-55e0-985e-d6d3b5dd594a) from the shared app id com.t3tools.t3code. Upstream's winget package T3Tools.T3Code matches installed apps by exactly this product code.
So winget treats an installed T4 as T3Tools.T3Code. Once winget lists an upstream version that sorts above the installed T4 version (0.1.4 > 0.1.3-t4.8), winget upgrade --all or a background updater such as UniGetUI's automatic updates installs upstream silently over T4. The database survives only as long as both builds share the same migrations.
Fix
Give T4 its own install identity on Windows, so no package manager can mistake it for upstream:
Own uninstall key / product code. For example, set electron-builder's NSIS guid, or give T4 its own app id if that turns out simpler. Keep the install folder, %APPDATA% data and ~/.t3 unchanged.
One-time switch, applied by the installer itself. The new installer removes upstream's uninstall key e9197887-… from the registry without running its uninstaller, so the files stay. Then only one entry remains and winget no longer finds a match. This must work both through T4's in-app updater and through scripts/t4/install-t4.ps1.
install-t4.ps1 finds T4 under either key.
Fork docs stop sending users to upstream installers. docs/user/install.md still says irm https://t3.codes/install.ps1 | iex and curl … t3.codes/install.sh, and scripts/install.ps1 / scripts/install.sh download from upstream's releases.
If the app id changes: check the Windows AppUserModelID side effects (taskbar pins, notifications) and the single-instance lock, and decide whether macOS/Linux follow.
Proof
An install over a machine running the current T4 leaves exactly one uninstall entry, under the new key. App, data and threads are unchanged.
winget list T3Tools.T3Code no longer lists T4.
install-t4.ps1 updates both an old-key and a new-key install.
Since upstream #27886 (in v0.1.6, #139), the Windows installer detects the running variant in the install folder and names it in its "app is running" prompt. On T4 that prompt says "T3 Code (Alpha)". Fix the name together with the install identity here.
Activity
LukasDoubleU commentedon Oct 31, 2026
Since upstream
#27886(in v0.1.6, #139), the Windows installer detects the running variant in the install folder and names it in its "app is running" prompt. On T4 that prompt says "T3 Code (Alpha)". Fix the name together with the install identity here.