Repository navigation
winuse 0.2.3
winuse 0.2.3 closes the ten usability issues filed against 0.2.2 (#9 to #18): modal dialogs and fresh frames in screenshots, an honest window_close, a title regex that survives SPA re-titling, and new tools for waiting, the clipboard, window-relative input and filtered UI trees.
Changes
- Dialogs and stale frames in screenshots (#10, #11). A window is now copied from the screen whenever it or a dialog it owns is in the foreground, so Office save prompts and WebView2 overlays are in the picture and Chromium windows no longer hand out a PrintWindow frame that predates the last input.
screenshottakesmethod(auto/screen/print) andsettle_ms, and reports whichmethodwas used.get_ui_treereads once more after a short wait when a dialog that just opened has no content yet. window_closetells the truth (#16). It waits for the window to go away (timeout_ms, default 2 s) and returnsclosed: falsewithreason: "still_open"plus the foreground window (the save prompt) when the window is still there.- Title regex after
wait_for(#9). A title that matches nothing is retried for 1.5 s beforeNo window matches; the error and thewait_fordescription point at thewin{n}ref as the reliable handle. - Primary monitor by default (#18).
screenshot {target: "screen"}captures the primary monitor at origin (0,0); the former whole-desktop image istarget: "virtual";monitor: <index>picks one, and screen captures reportmonitorswith rect, work area and primary flag. sleep {ms}andwait_for {condition: "time"}(#12).- Clipboard tools (#13).
clipboard_get,clipboard_set,clipboard_set_image(image file under the allowed roots, put on the clipboard as CF_DIB plus PNG),paste_textandpaste_image(set the clipboard, press ctrl+v, restore the previous text). - Window-relative input (#14, #15).
click,hover,scrollanddragtakewindow: the window is activated first and x/y are relative to its rect, so a pixel of a window screenshot can be passed as is.type_textandpress_keystakewindowtoo: the window is activated before the input and the call fails when it cannot take the foreground; the result reports where the input went. - Filtered, compact UI trees (#17).
get_ui_treetakescontrol_type(comma-separated),name(regex),compactandmax_nodes; matching nodes are hoisted,compactdrops null / default fields and packsrectasx,y,w,h, and a truncated result reportsomitted_nodes.
Scenarios recorded with 0.2.2 replay unchanged. The only behaviour change for existing clients is screenshot {target: "screen"}, which is now the primary monitor instead of the whole virtual screen.
Install
- Install the .NET 10 runtime (or SDK).
- Unzip
winuse-0.2.3-win-x64.zipinto a folder. - Register with Claude Code:
claude mcp add winuse -- <folder>\winuse.exe --mcp - Set
JEV_API_KEY, orCLOUDFLARE_ACCOUNT_IDandCLOUDFLARE_API_TOKEN, as user environment variables, then runwinuse doctor.
Upgrading from 0.2.2: unzip over the old folder and restart the AI client.
Known issues
Unchanged from 0.2.2: get_table does not read Swing tables yet; a JRE without the Java side of the bridge cannot be read; type_text with Japanese text can be garbled under the Japanese IME (intermittent).
Full changelog: CHANGELOG.md