Repository navigation
ThinkWatch Lite 2026.10.1
Upgrade notes:
- The bundled core is now 0.59.0, which speaks control-plane protocol 35. A remote server has to run core 0.59.0 too: this version does not connect to 0.57.x, and 2026.10.0 and earlier do not connect to 0.59.0.
- Request history is cleared on the first start, as the request store is rebuilt. Configuration, keys and upstreams are kept.
- The Hidden characters and Output limit guards are removed (see Three security guards). If either was changed from its factory setting, set it back before updating: Hidden characters to Observe with both of its rules on, Output limit to Off with a limit of 100,000 characters. Otherwise core does not start and the app runs in safe mode until
hidden_text:andoutput_limit:, with the lines indented under them, are deleted from thesecurity:section ofconfig.yaml. - Two plugins come with the app and are added turned off.
Plugins:
- The new Plugins page runs JavaScript plugins that change requests before they go to an upstream and answers before they reach the client.
- Plugins run in a sandbox inside core, with no access to files, the network or the environment. A plugin sees only the parts of a request it was granted, and never a real secret: recognized secrets are replaced with placeholders before it runs and put back afterwards.
- A plugin is one file that also holds its settings, its scope and what happens when it fails. Its editor has a Settings tab and a Code tab that are saved together, and adding a plugin opens the same editor.
- A plugin can be tried on a recent request, moved in the run order by dragging, and followed through its logs and statistics. The Traffic page marks requests a plugin changed, and a request's detail shows it before and after the plugins.
- Only a plugin that can change tool calls asks for confirmation in a system dialog: to be installed, turned on, have its code changed, or have a change to its file approved.
- The two included plugins are Answer in a chosen language and Convert WSL and Windows paths.
Session conversations:
- A session has a new Conversation tab that replays it turn by turn: messages, folded thinking, tool calls with their results, and images.
- What cannot be shown is marked with the reason, such as a body past the retention period.
Three security guards:
- Outbound redaction, tool-call inspection and the content filter now cover what the five guards did. Hidden characters are built-in content-filter rules, which delete the characters instead of refusing the request, and the output limit is gone.
- Content rules can refuse a request, delete what they match or only record it, and can match Unicode code points.
- Custom redaction rules can name their placeholder. Email addresses and Chinese mainland mobile numbers are new built-in redaction rules, off by default.
- Tool-call inspection has two new rules: a credential sent to a host other than its own provider, and a local file uploaded to a remote host.
Stored requests:
- Request and answer bodies are stored with recognized secrets already replaced, whatever the redaction mode.
- Answers are kept up to 4 MiB (it was 256 KiB), and body storage defaults to 5 GiB (it was 2 GiB). Retention settings above 7 days, 90 days or 2 GiB now take effect; a fixed cleanup used to cut them back every hour.
- An error that an upstream answered, such as a 400, now counts as a failed request, with the upstream's message as the reason.
Fixes:
- On Windows, the gateway no longer needs the Visual C++ Redistributable to start.
- A request holding many values that look like secrets no longer slows the gateway down.
The Plugins and Features pages describe each of these in full.
Downloads
| Platform | File |
|---|---|
| macOS, Apple silicon | ThinkWatch-Lite-2026.10.1-arm64.dmg |
| Windows, x64 | ThinkWatch-Lite-2026.10.1-x64-setup.exe |
| Windows, ARM64 | ThinkWatch-Lite-2026.10.1-arm64-setup.exe |
| Linux, x86_64 | ThinkWatch-Lite-2026.10.1-x86_64.AppImage |
| Linux, aarch64 | ThinkWatch-Lite-2026.10.1-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 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.
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.1-arm64.dmg.sha256On Linux:
sha256sum -c ThinkWatch-Lite-2026.10.1-x86_64.AppImage.sha256On Windows, in PowerShell, the following prints True when the installer matches:
(Get-FileHash .\ThinkWatch-Lite-2026.10.1-x64-setup.exe).Hash -eq (Get-Content .\ThinkWatch-Lite-2026.10.1-x64-setup.exe.sha256).Split()[0]The Homebrew cask and the Linux install script check the SHA-256 themselves.
What's Changed
- docs(readme): sponsor contact under the introduction by @fylorn in #267
- fix: subscribe to Tauri events through one helper that unlistens safely by @fylorn in #268
- ci: run the frontend unit tests by @fylorn in #269
- Use core v0.58.0: session conversations, unified guards, script plugins by @fylorn in #270
- docs(readme): LINUX DO badge in the badge row by @fylorn in #271
- Use core v0.59.0: plugin files hold their configuration, one editor by @fylorn in #272
- chore: 2026.10.1 by @fylorn in #273
Full Changelog: v2026.10.0...v2026.10.1