Repository navigation
ThinkWatch Lite 2026.10.9
Upgrade notes:
- The bundled core is now 0.65.0, with control-plane protocol 41. A remote server must be upgraded to core 0.65.0 together with the app: this version does not connect to a server on 0.64.x, and 2026.10.8 and earlier do not connect to 0.65.0.
- Request history is kept. The first start adds indexes to the request store, which takes about a second on a large history.
Menu bar and tray menu:
- Open ThinkWatch Lite is always the first item, whatever else the menu shows.
- A Today block replaces the header and the three large numbers: today's tokens in large type, requests, failures and cost below them, and a small chart of tokens per hour. Its top line shows the gateway state and the generation speed, and the server's name when connected to a remote core.
- One row per quota window the upstream reports, with when it resets.
- Copy Gateway Address shows the address it copies. Install Version is the first item of its group when a new version is available.
Faster:
- The Traffic page opens in a fraction of the time with thousands of requests in the list, uses far less memory, and stays smooth while requests arrive.
- The launch screen appears after a small part of the app has loaded; pages load as they are opened.
- Live updates and the Overview chart use less CPU, and nothing is redrawn while the window is hidden or minimised.
- The gateway processes large requests about four times faster, and no longer pauses other answers that are streaming at the same time.
- The conversation view of a long session fetches only the new turns instead of the whole conversation each time.
- On macOS, watching the clients' configuration files no longer wakes the app for every file change in the home folder.
- Over a remote connection, the Overview's figures are fetched in parallel.
Fixes:
- Forwarded request bodies keep the client's bytes and key order. Removing
metadata.user_id, and a routing rule or alias changing the model, output limit or thinking, used to rewrite the body with every object's keys in alphabetical order. - When one day's stored payloads exceeded the size cap, the hourly clean-up deleted that whole day, including the session being viewed. The current day now loses only its oldest payloads.
- Sessions older than the newest 500 open again.
- The Configuration file and Version history dialogs show an error with Retry when they cannot load, instead of loading forever.
- If the menu bar item, tray icon or a window cannot be created at startup, the app reports it as a notice and keeps the gateway running, instead of quitting.
- The routing dry run shows each round-robin member's share as the gateway computes it; members sitting the round out show none.
- On Windows, the ring around an in-progress request's status dot now animates.
- Numbers are written the same way everywhere: latency as
1182ms, dates as10-08, token counts as1.5k.
Downloads
| Platform | File |
|---|---|
| macOS, Apple silicon | ThinkWatch-Lite-2026.10.9-darwin-arm64.dmg |
| Windows, x64, installer | ThinkWatch-Lite-2026.10.9-windows-x64-setup.exe |
| Windows, x64, portable | ThinkWatch-Lite-2026.10.9-windows-x64-portable.zip |
| Windows, ARM64, installer | ThinkWatch-Lite-2026.10.9-windows-arm64-setup.exe |
| Windows, ARM64, portable | ThinkWatch-Lite-2026.10.9-windows-arm64-portable.zip |
| Linux, x86_64 | ThinkWatch-Lite-2026.10.9-linux-x86_64.AppImage |
| Linux, aarch64 | ThinkWatch-Lite-2026.10.9-linux-aarch64.AppImage |
Each file is published with a .sha256 file beside it. latest.json is the manifest for in-app updates, and install.sh is the Linux install script.
On Windows, the portable ZIP runs without installation or administrator rights: extract it to any writable folder and start ThinkWatch Lite.exe. Its settings stay in the data folder beside it, separate from an installed copy, and it updates itself in place.
On macOS, Homebrew installs the same disk image:
brew install --cask thinkwatchproject/tap/thinkwatch-liteOn Linux, the install script downloads the AppImage for the machine's architecture, checks its SHA-256 and installs it as ~/Applications/ThinkWatch-Lite.AppImage:
curl -fsSL https://github.com/ThinkWatchProject/ThinkWatch-Lite/releases/latest/download/install.sh | shBoth commands install the latest release. First-launch steps for each platform, such as removing the quarantine attribute from a copy downloaded on macOS, are described in the README.
The ThinkWatch Lite page describes each feature, and the documentation covers installing, connecting clients and routing.
Verifying a download
A .sha256 file holds the SHA-256 of the file followed by its name. With both files in the current directory, on macOS:
shasum -a 256 -c ThinkWatch-Lite-2026.10.9-darwin-arm64.dmg.sha256On Linux:
sha256sum -c ThinkWatch-Lite-2026.10.9-linux-x86_64.AppImage.sha256On Windows, in PowerShell, the following prints True when the installer matches:
(Get-FileHash .\ThinkWatch-Lite-2026.10.9-windows-x64-setup.exe).Hash -eq (Get-Content .\ThinkWatch-Lite-2026.10.9-windows-x64-setup.exe.sha256).Split()[0]The Homebrew cask and the Linux install script check the SHA-256 themselves.
What's Changed
- CI saves Rust caches only on dev, releases save none on tags by @fylorn in #292
- Faster traffic table and startup, hand-drawn charts, Rust shell clean-up, menu bar menu with Open first and a Today block by @fylorn in #293
- Core v0.65.0: the dry run shows core's own share, the conversation view fetches only new turns by @fylorn in #294
- chore: 2026.10.9 by @fylorn in #295
Full Changelog: v2026.10.8...v2026.10.9