Skip to content

ThinkWatch Lite 2026.10.6

Choose a tag to compare

@github-actions github-actions released this 05 Oct 14:32
· 44 commits to main since this release
effd9bc

Upgrade notes:

  • The bundled core is now 0.63.0, which speaks control-plane protocol 39. A remote server has to run core 0.63.0 too: this version does not connect to 0.62.0, and 2026.10.5 and earlier do not connect to 0.63.0.
  • Request history is kept.
  • A configuration edited by hand that lists an upstream twice in a strategy group, or a name that is not an upstream, no longer loads; safe mode names the group and the member.
  • A key's concurrency limit now counts streamed answers until they end, so a key at its limit waits more often than before.

Strategy groups:

  • Load-balance groups take a weight per member, from 1 to 100, and a choice of how to distribute: by ratio, by speed, by reliability, or both. Speed is the time to first token, reliability the recent success rate; both adjust the weights, and an upstream without enough measurements counts as average.
  • Ongoing conversations stay on their upstream and count toward its share. The route test shows each member's weight, speed, success rate and share, and predicts the next upstream.

Upstreams:

  • An upstream can have a concurrency limit. A conversation in progress waits for a free slot; other requests go to the next upstream, and when every upstream is full the request waits, then fails with a clear message.
  • A model's context window and output limit can be set by hand under "Specs…" in the upstream's model list, for relays the price table does not know or gets wrong. A manual value is marked and replaces the price table's.
  • Check-up findings (a different model name in answers, input reported high or low, few cache reads) now appear on the upstream's row; the separate Check-up tab is gone.

Failover settings:

  • "Move to the next upstream when the start times out" (off by default): a streamed answer that has sent nothing within the wait moves to the next upstream, if one can take it. The last upstream keeps waiting.
  • "Wait for a free slot at most" (30 seconds by default) is the total time a request waits for a full upstream or a key's per-minute or per-hour limit.

Keys:

  • A key can have usage limits: requests, tokens or cost (USD) per minute, hour, day, week or month, all of which must hold. A token limit can count cache reads. Day, week and month reset at local midnight, on Monday and on the 1st.
  • The key dialog shows each limit's usage and reset time, and lists the models the key can use that have no price; they count as $0. Keys at a limit are marked in the list, and a notification comes at 80% and when a limit is reached.

Traffic:

  • The attempt chain shows an upstream given up for a slow start, with the input tokens it may have billed, upstreams skipped at their concurrency limit, and time spent waiting for a slot.
  • Requests refused by a key's usage limit or because every upstream was full are labelled as such.
  • On a Responses WebSocket connection, each turn is now a request of its own, with its usage and cost.

Also:

  • The menu bar's menu follows the appearance chosen in the app instead of the menu bar's tint, so it no longer opens light in Dark Mode over a bright wallpaper.

Downloads

Platform File
macOS, Apple silicon ThinkWatch-Lite-2026.10.6-darwin-arm64.dmg
Windows, x64, installer ThinkWatch-Lite-2026.10.6-windows-x64-setup.exe
Windows, x64, portable ThinkWatch-Lite-2026.10.6-windows-x64-portable.zip
Windows, ARM64, installer ThinkWatch-Lite-2026.10.6-windows-arm64-setup.exe
Windows, ARM64, portable ThinkWatch-Lite-2026.10.6-windows-arm64-portable.zip
Linux, x86_64 ThinkWatch-Lite-2026.10.6-linux-x86_64.AppImage
Linux, aarch64 ThinkWatch-Lite-2026.10.6-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-lite

On 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 | sh

Both 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.6-darwin-arm64.dmg.sha256

On Linux:

sha256sum -c ThinkWatch-Lite-2026.10.6-linux-x86_64.AppImage.sha256

On Windows, in PowerShell, the following prints True when the installer matches:

(Get-FileHash .\ThinkWatch-Lite-2026.10.6-windows-x64-setup.exe).Hash -eq (Get-Content .\ThinkWatch-Lite-2026.10.6-windows-x64-setup.exe.sha256).Split()[0]

The Homebrew cask and the Linux install script check the SHA-256 themselves.

What's Changed

  • Upstreams: mark check-up findings on the upstream's row, drop the Check-up tab by @fylorn in #285
  • Menu bar: the menu follows the in-app appearance by @fylorn in #286
  • 2026.10.6: load-balance weights, upstream concurrency, model specs, key usage limits (core v0.63.0) by @fylorn in #287

Full Changelog: v2026.10.5...v2026.10.6