Windows Computer Use: WeCom cross-process permission dialog is readable but cannot be targeted for clicks
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
Summary
The bundled Windows Computer Use plugin can capture and read a WeCom permission dialog hosted by WXWorkWeb.exe, but cannot click its controls. Input validation rejects the dialog as a different target from the selected WXWork.exe main window, while list_windows() and list_apps() do not expose the dialog as a separately targetable window.
Environment
- Codex desktop on Windows (exact desktop build and Windows build not collected)
- Bundled computer-use plugin version: 26.901.51231
- Runtime: node_repl with @oai/sky, documented window2 API
- WeCom installation includes version directory 5.0.10.6023 (main executable version not independently verified)
Reproduction
- Open the WeCom main window (企业微信, WXWork.exe).
- Navigate to 工作台 → 智能机器人 → an existing bot's details.
- Click an 已授权 status in 可使用权限 to open the permission dialog.
- Select the main window using the Window object returned by sky.list_windows(), and capture it with sky.get_window_state().
- The dialog appears among returned screenshots; include_text:true also returns its accessibility tree and permission status text.
- Click an 已授权 dropdown using its fresh screenshot ID and coordinates.
- Also try the matching element_index after obtaining a fresh screenshot and accessibility observation.
Actual behavior
Both screenshot-coordinate and accessibility-index clicks are rejected with the same class of error:
point (...) is over WXWorkWeb.exe "Chrome Legacy Window", not target window WXWork.exe "企业微信"; activate the target or take a fresh screenshot before retrying
Reactivating the selected window, taking a fresh snapshot, and retrying once does not resolve it. Refreshing list_windows() and list_apps() returns the WeCom main window and other existing WeCom windows, but no separately targetable WXWorkWeb.exe permission dialog. The accessibility tree does recognize a child window titled 可使用权限 beneath the disabled main window.
No permission was revoked or granted by these failed attempts.
Expected behavior
Expose the owned cross-process dialog as a selectable Window, or correctly resolve the intended owned dialog when targeting its observed controls, while preserving target validation. A general bypass of target validation is not requested.
Impact
WeCom desktop workflows stop at a readable permission dialog because it is not independently targetable through the documented API. The documented activate/refresh/retry recovery does not help.
This report intentionally excludes enterprise screenshots, account details, credentials, local user paths, and session transcripts. Diagnosis is based on observed API results; the underlying implementation cause has not been confirmed.
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 by reproducing the workflow in node_repl with the documented window2 API, focusing on sky.list_windows(), sky.list_apps(), sky.get_window_state(), and the screenshot and accessibility click paths. Done means the owned WXWorkWeb.exe dialog is selectable or its observed controls target correctly, while target validation remains enforced.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js
- Domain
- api, desktop, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100