Windows Computer Use omits ISPSoft's visible VCL workspace and loses its window after restore
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
What version of the Codex App are you using (From “About Codex” dialog)?
26.901.1978.0 (installed Windows desktop package version)
What subscription do you have?
Not disclosed (sanitized public compatibility report).
What platform is your computer?
Windows 11 Pro 25H2, build 10.0.26200.9168, x64.
What issue are you seeing?
The supported Windows Computer Use API (@oai/sky) cannot target the visible workspace of Delta ISPSoft 3.24 (NewISPSoft.exe). sky.list_apps() reports the application running but returns windows: []; sky.list_windows() omits the workspace.
After manually minimizing ISPSoft, enumeration temporarily returns an auxiliary window titled Delta ISPSoft. get_window_state reports it minimized. activate_window succeeds, but immediately reacquiring that returned identity with get_window fails with window id ... was not found; fresh enumeration again omits ISPSoft. The actual workspace remains visible and responsive.
Bundled Windows Computer Use skill/plugin version: 26.901.20858. ISPSoft and the main Codex process run in the same interactive session at Medium integrity, without elevation. Both installed-app and process-path identities for ISPSoft have approved access.
What steps can reproduce the bug?
- Start Delta ISPSoft 3.24 normally and leave its visible workspace open. Remain offline; no PLC/HMI connection is needed.
- Using the supported @oai/sky API, call sky.list_apps() and sky.list_windows(). Observe ISPSoft running with no returned workspace window.
- Minimize ISPSoft manually.
- Call sky.list_windows() again. It now returns an ISPSoft window titled Delta ISPSoft.
- Select exactly that returned window and call sky.get_window_state({window}). It reports the window minimized.
- Refresh selection from a current returned window, then call sky.activate_window({window}). This succeeds.
- Immediately call sky.get_window({id: window.id, app: window.app}) for that returned identity. It fails with
window id ... was not found. - Fresh list_apps/list_windows enumeration again omits the visible ISPSoft workspace.
This is a window-discovery/restore reproduction, not a model/token-limit failure. Session identifiers and raw logs are intentionally omitted from this public report.
What is the expected behavior?
Computer Use should expose the actual visible workspace of the approved ISPSoft process and reacquire it after minimize/restore when its auxiliary application window has no capturable area. Caller-side substitution of raw Win32 handles should not be necessary.
Additional information
Read-only Win32 observations
The process has two relevant top-level windows:
TApplication: auxiliary application window, no owner, visible flag set. Initially its rectangle is 0 x 0; after the supported restore it has zero height. This is the window returned by Computer Use while minimized and selected by the .NET Process.MainWindowHandle diagnostic.TMainFrm: the actual visible workspace, owned by TApplication. It remains visible, enabled, non-minimized and nonzero-sized after restore, but Computer Use does not return it.
Win32 confirms both handles still exist when Computer Use reports the restored identity missing. Neither window reports DWM cloaking or capture-exclusion display affinity. The workspace has no WS_EX_TOOLWINDOW, WS_EX_NOACTIVATE or WS_EX_APPWINDOW flag; its observed extended style is 0x00010100.
Controls tested
- Valid per-app access configuration, reflected in the settings UI.
- Clean ISPSoft restart and full Windows restart.
- Two displays, then only one laptop display: the same failure.
- COMMGR 2.14 could be discovered, restored and captured using the same supported API before the latest reboot.
- DIADesigner 1.14 could subsequently be opened and controlled through the supported API; an empty project compiled offline.
Please investigate discovery of visible owned VCL workspaces when an approved process also has a zero-area auxiliary TApplication window. The exact internal rejection predicate is unknown: these are black-box observations, not a confirmed source-code-level condition.
No supported configuration switch or verified compatible update for this failure was identified in the reviewed local configuration, bundled API reference or public changelog. No compatibility patch or security relaxation was applied.
No project files, screenshots, user paths, device addresses, contact details, account identifiers or raw application logs are included. No real PLC/HMI communication, firmware action or program transfer was performed.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the @oai/sky entry points sky.list_apps(), sky.list_windows(), sky.get_window_state(), sky.activate_window(), and sky.get_window(), using the documented ISPSoft reproduction on Windows. Compare enumeration before and after minimize/restore and verify that the visible TMainFrm workspace is returned and remains reacquirable without raw Win32 handles.
Written by the indexing model from the issue text.
Assessment
- Domain
- desktop-dev, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100