Skip to content

TaskWindow v0.2.4

Choose a tag to compare

@github-actions github-actions released this 05 Sep 20:20
· 26 commits to main since this release

Extension-side. Coming from 0.2.3 or older: npm install -g taskwindow@latest,
then taskwindow update — it refreshes the extension files and reloads the
extension for you (older extensions get told the one click that remains).

Added

taskwindow update. One non-interactive command brings the daemon and the
extension to the latest release: installs the npm package into the prefix the
current one lives in (not whichever npm is first on PATH), refreshes the
unpacked extension files, restarts the daemon, and has the extension reload
itself. Open tabs survive. Agents may run it, with your permission.

Agents learn about new versions. The daemon asks the npm registry for the
latest version at most once a day and, when there is one (or the extension
lags the daemon), says so once per agent session — in the tabs_create result
and in taskwindow_status — telling the agent to ask you before running
taskwindow update. doctor shows it too. Disable with
~/.taskwindow/no-update-check.

computer screenshots can be saved to disk. By default a screenshot comes
back inline, with no path — nothing else could use the actual image. Pass
save_to_disk: true and the daemon also writes the PNG to a temp directory
(OS-cleaned) and returns the absolute path in the result text, so the agent can
attach it to an issue, feed it to another tool, or just verify it with file.
The extension is untouched; this happens entirely daemon-side.

Extension-side: after taskwindow install, reload TaskWindow in
chrome://extensions.

Fixed

Screenshot coordinates now match click coordinates on Retina and zoomed
pages.
computer screenshots were rendered in device pixels while clicks,
scrolls and mouse moves are dispatched in CSS pixels, so on a 2x display every
coordinate read off a screenshot landed twice too far right and down — off the
button, or off the viewport entirely. Agents clicked "send" and nothing
happened, then pressed Enter into nothing. Screenshots are now captured at
1 image pixel per CSS pixel, so x,y read off them can be used as-is; the
result text says so. A newly created agent window also opens at 1280x900, so
that 1:1 screenshot stays within the resolution vision models see natively
instead of being downscaled on the way in (resize the window if you want more).

The on-page cursor and glow no longer fade out mid-task. They used to
disappear about 1.6s after each action, so an agent that moved the mouse and
then took a screenshot to check the spot before clicking often found nothing to
check. Both now stay up for as long as the tab is being driven and go away when
TaskWindow detaches from the tab.

javascript_execute works on sites with a strict Content Security Policy.
It ran the code through eval inside the page, which x.com, reddit.com, GitHub
and any other site without 'unsafe-eval' reject. It now evaluates over the
DevTools protocol like the DevTools console, which the page's CSP cannot block.

doctor and install warn when an older taskwindow shadows this one.
Global installs under different Node versions leave older copies behind, and if
one sits earlier on PATH it silently runs instead of the version you just
installed — a pre-doctor copy even falls through to daemon mode and dies with
EADDRINUSE. Both commands now name the shadowing binary and its version, and
say how to remove it.

Install

Run npm install -g taskwindow@latest, then taskwindow install. The guided installer configures the daemon and selected coding agents, downloads the extension, opens Chrome, and pairs automatically after you load the unpacked folder.

Manual archives are attached below. Run taskwindow doctor for connection diagnostics or taskwindow pair for manual recovery.

See the README for the full guide.