Repository navigation
KlaatCode V2.4.3
Klaat Code v2.4.3
Klaat Code now updates itself. Run klaatcode and it checks for a newer release before anything else, asks once, and gets out of your way.
⬆️ Update on launch
Update available: v2.4.2 → v2.4.3
Update now? [Y/n]
Yes → upgrades through whichever channel installed it (npm, Homebrew, install script, PowerShell installer), then relaunches with your original arguments so you land where you were going.
No → it won't ask again for that release.
The check is cached 4 hours and fail-silent: no network, a slow endpoint, or a bad response never delays a launch.
Upgrades are verified, not assumed. A zero exit code isn't proof. The CLI asks the installed binary what version it reports, and catches the case where a second copy on your PATH — Homebrew shadowing npm, or a leftover klaatcode-ai 1.x binary from the retired package — is still winning.
If the upgrade fails, it repairs itself. Failed command, or the version didn't move? It runs a clean uninstall + reinstall for your channel, including removing the retired klaatcode-ai package. Permission and missing-tool failures skip the repair and print the real fix instead, because a reinstall would hit the same wall. If nothing works you get the exact manual command — you are never left without a working CLI.
Minimum supported version. klaatai.com/api/latest now publishes a version floor. Below it the update is required rather than optional, and the server can refuse very old builds with upgrade instructions in the response — the only way to reach installs too old to have this update gate. Off unless a release says otherwise.
| Command / flag | Effect |
|---|---|
klaatcode upgrade |
Upgrade now |
klaatcode upgrade --check |
Report what's available, change nothing |
klaatcode --no-update-check |
Skip the check for this run |
KLAATAI_NO_UPDATE=1 |
Skip it permanently |
KLAATAI_SKIP_VERSION_GATE=1 |
Run a build below the floor anyway |
CI and non-interactive shells are never prompted — one line on stderr, then they carry on.
🔎 Install identity headers
Every request now reports four things, so we can see how many installs are live and which builds are still out there:
| Header | Example | Why |
|---|---|---|
X-KlaatAI-Client-Version |
2.4.3 |
Version adoption; enforcing the minimum supported build |
X-KlaatAI-Platform |
darwin-arm64 |
Which platforms need builds and testing |
X-KlaatAI-Install-Channel |
npm |
Which install channel to fix when upgrades break |
X-KlaatAI-Install-Id |
random UUID | Counting installs — one heavy user is not a thousand installs |
The install id is a random UUID generated once and stored in ~/.klaatai/install-id. It is never derived from your machine — no hostname, MAC address, or hardware hash — and it identifies an install, not a person. Nothing about your project is included: no file paths, repo names, source code, or prompts.
Opt out and no install id is sent at all, so no per-install record exists:
export KLAATAI_TELEMETRY=0 # or DO_NOT_TRACK=1{ "telemetry": "off" }Version and platform still travel when you opt out — the server needs them to refuse unsupported builds and route around version-specific bugs. Full table in the README.
📦 Install / upgrade
npm install -g klaatcode@latestbrew upgrade KlaatAI/klaatcode/klaatcodecurl -fsSL https://klaatai.com/api/install | bashirm https://klaatai.com/api/install-windows | iexStill on
klaatcode-ai1.x? That package is retired and its binary can shadow the current one. Install v2.4.3, then runklaatcode upgrade— it detects the shadow and cleans it up.
Full changelog: https://github.com/KlaatAI/klaatcode/blob/main/CHANGELOG.md
Compare: v2.4.2...v2.4.3