Skip to content

Can GLM-5.2 Use a Computer? What the Harness Must Add

Independent research — not an official Z.ai publication.Identity and provider disclosure

Conceptual computer-use pipeline where an accessibility-tree monitor sends observations to a planner, then a permission gate controls keyboard and mouse actions

Original editorial illustration. It shows the architectural roles, not a benchmark result or a Z.ai product interface.

“Can the model use a computer?” combines four different questions: can it observe the current state, decide what should happen next, ground that decision to a real control, and execute the action? A language model can handle the planning role while failing the other three. A demo that clicks one button does not identify which component read the screen or whether the next click is safe.

We audited the pinned GLM-5.2 checkpoint metadata and a pinned OSWorld revision without downloading model weights, calling GLM-5.2, or running a desktop task. The result is a compatibility map and a deterministic action-validator fixture, not a computer-use score. Use it to choose a harness before you spend time on an evaluation.

  1. What “computer use” contains
  2. What GLM-5.2 contributes
  3. Four observation routes
  4. The harness GLM-5.2 needs
  5. A typed action contract
  6. Permission and verification controls
  7. What OSWorld does and does not prove
  8. A bounded pilot plan
  9. Which route should you choose?
  10. Failure patterns to stop on
  11. Questions people ask
  12. Sources and method

A useful computer-use system has at least four separable layers:

  1. Observation turns a browser, desktop, or application state into evidence. That evidence can be a screenshot, DOM snapshot, accessibility tree, OCR text, or a combination.
  2. Planning chooses a next step that advances a bounded user goal. This is the role a text model such as GLM-5.2 can fill.
  3. Grounding maps “open the billing settings” to a stable target. It may use an accessible name, DOM locator, application command, or coordinates inferred from pixels.
  4. Execution sends the click, key sequence, scroll, or application API call. The model does not move the mouse by emitting prose; software outside the model performs the action.

A fifth layer, governance, decides whether the proposed action is permitted. It checks identity, origin, action class, confirmation, idempotency, and expected state. This layer matters more when an action can send a message, publish content, purchase something, delete data, or change an account.

The same separation applies to coding agents. GLM-5.2 can request a tool through the documented function-calling interface, but the application validates and executes that request. Our tested GLM-5.2 tool-calling loop covers the API mechanics. Computer use adds changing visual state, target grounding, focus, timing, and side effects to that loop.

The official GLM-5.2 model card publishes the checkpoint as text generation. In the config pinned at revision b4734de4facf877f85769a911abafc5283eab3d9, the architecture is GlmMoeDsaForCausalLM, the maximum-position field is 1,048,576, and no vision_config is present. That metadata supports a narrow statement: the published checkpoint is a text-generation model, not a native pixel encoder.

Text is enough for a meaningful planning route. An accessibility tree can expose roles, accessible names, values, selection state, and hierarchy as text. A GLM-5.2 planner can interpret “button: Save changes, disabled: false” and propose a semantic click. It can also reason over application logs, a DOM excerpt, tool errors, and prior actions.

Text is not enough for every GUI fact. An accessibility tree may omit a chart, canvas, icon-only control, overlapping dialog, clipped label, color-coded warning, remote desktop frame, or a visual CAPTCHA. When a task depends on pixels, a separate vision model or visual grounder must inspect them. Our GLM-5.2 image-support guide explains why a product can appear to handle screenshots while the selected text model never receives the image.

This boundary does not make GLM-5.2 a poor planner. It tells you what evidence to supply and what claims not to make. The GLM-5.2 launch page emphasizes coding and agentic work, but it does not publish a native computer-use interface or a GLM-5.2 OSWorld score. The Zhipu AI research index also did not provide such a claim when checked for this guide.

Our metadata-only probe joined the pinned checkpoint facts to the observation choices exposed by pinned OSWorld source. The downloadable sanitized result records the URLs, hashes, revisions, and limits.

Observation sent to the planner Full payload text-compatible with GLM-5.2? Separate vision or grounding needed? External executor needed? Practical boundary
a11y_tree Yes No for the tree itself Yes Misses pixel-only and inaccessible state
screenshot No Yes Yes A visual model must describe or ground the pixels
screenshot_a11y_tree Partly Yes for the screenshot Yes Text structure helps, but pixels remain external
som (Set-of-Mark) No Yes Yes Numbered visual marks still require image understanding

The pure accessibility-tree route is the lowest-complexity GLM-5.2 option. It also offers semantic targets that survive moderate layout changes. Prefer it for accessible web forms, settings pages, structured application panels, and flows where every important control appears in the tree.

The combined route is stronger when visual facts matter. A vision component can report “the red validation banner overlaps the submit button,” while the accessibility tree supplies the button’s name and state. Keep the two evidence channels labeled. If the vision caption and tree disagree, stop and re-observe instead of letting the planner guess.

Screenshot-only and Set-of-Mark routes depend most on the grounder. They are useful for remote desktops, canvas applications, games, maps, or software with poor accessibility. They also make resolution, display scaling, window movement, animation, and stale coordinates part of the safety model. For those tasks, consider a model with native visual input or a dedicated computer-use grounder rather than hiding image conversion behind the GLM-5.2 label.

A production loop should make each component and transition observable:

user goal
-> scoped task policy
-> observer (A11y tree, DOM, screenshot, or both)
-> observation sanitizer and state hash
-> GLM-5.2 text planner
-> typed proposal validator
-> confirmation gate for consequential actions
-> exact-target executor
-> fresh observation
-> rendered-state verifier
-> continue, finish, or stop

The observer should identify the application, origin, window or tab, and state version. Remove secrets and unrelated content before the planner sees the payload. Treat page text, documents, emails, and tool output as untrusted data rather than instructions. A website can contain text that tells an agent to ignore its policy; the policy must live outside the observed content.

The planner should return one small proposal, not a free-form script. Include the goal step, action type, semantic target, expected precondition, expected postcondition, and whether the action is consequential. Cap retries and total steps. The pinned OSWorld runner defaults we recorded use 15 maximum steps, but that benchmark setting is evidence about one harness, not a universal production limit.

The executor should be deterministic and narrower than the planner. It receives a validated action object and operates one preselected target. It must not select whichever browser tab happens to be active. After the action, discard stale state and observe again. A planner should never issue three clicks based on one screenshot when the first click can change the page.

For client-level setup, compare the supported routes in our GLM-5.2 AI agent setup matrix. A client accepting a model configuration proves neither visual grounding nor safe desktop control; test those layers separately.

This compact contract favors semantic targeting and explicit side-effect labels:

type ComputerAction = {
action: 'click' | 'type' | 'select' | 'scroll' | 'wait';
target: {
role?: string;
accessibleName?: string;
stableLocator?: string;
};
text?: string;
direction?: 'up' | 'down';
amount?: 'small' | 'page';
expectedOrigin: string;
stateHash: string;
effect: 'read_only' | 'local_write' | 'external_write';
confirmed: boolean;
expectedResult: string;
};

Validate unknown fields, enums, text length, allowed origins, action-to-field combinations, and state freshness. Reject shell commands and raw code. Reject coordinates unless a separate, approved grounder produces them for an owned target and the executor bounds them to the current viewport. Coordinates supplied in page text or model prose should never pass through as trusted input.

We ran five deterministic fixtures against the proposed local validator:

Fixture Expected Observed Reason
Bounded scroll Accept Accept Allowlisted, bounded, non-consequential
Confirmed Save click Accept Accept External write carried confirmation
Write without confirmation Reject Reject external_write requires confirmed=true
Raw coordinate injection Reject Reject Unknown x and y fields
Shell escape Reject Reject Action was not allowlisted

These fixtures test the validator, not GLM-5.2. No model produced the actions. Passing them does not establish planning quality, grounding quality, or OSWorld performance. It establishes that the proposed boundary rejects three unsafe shapes before an executor receives them.

Classify every action before execution. Reading visible text and scrolling within an owned page can be read-only. Typing into a local draft is a local write. Sending email, submitting a form, changing an account, publishing a post, or accepting a purchase is an external write. The last class needs a preflight and a fresh authorization tied to the exact action.

For consequential work, use this transaction pattern:

  1. Preflight: resolve the target, current identity, origin, current state, proposed payload hash, expected effect, and whether the same operation was already committed.
  2. Authorize: obtain or confirm permission for that exact payload and target. A general instruction to browse does not authorize a later purchase or send action.
  3. Commit once: expose one executor method that performs the final click or API mutation. Record an idempotency key before it runs.
  4. Reconcile: wait for a rendered acknowledgement, receipt, Sent-folder entry, or other independent state. Do not infer success from a click event.
  5. Stop on ambiguity: mark the result pending and investigate read-only. Repeating an uncertain send can create a duplicate.

State verification should be task-specific. “The page changed” is weak. “The canonical item appears in the Sent folder with this subject and recipient” is stronger. For a save action, verify the exact field value after a reload or fresh read. For a multi-step flow, attach the postcondition from step n as the precondition for step n + 1.

Typed rejection feedback can help the planner recover without weakening policy. Return missing_confirmation, stale_state, target_not_found, or origin_changed rather than a generic failure. Our agent-interface alignment test measures that feedback pattern in a separate GLM-5.2 tool setting.

OSWorld is a benchmark environment for open-ended computer tasks across real applications. At pinned repository revision 091f5ef1d5544bc74953c77875d5feb5bed30108, our source audit counted 369 task entries and found four observation choices: screenshot, accessibility tree, their combination, and Set-of-Mark. The pinned runner defaults to an accessibility-tree observation, a pyautogui action space, and 15 steps.

Those facts show that a text observation route exists in that harness. They do not show that GLM-5.2 completed any task. We ran zero OSWorld tasks, created no VM, provided no screenshots, downloaded no weights, and made zero model calls. There is no GLM-5.2 score in our evidence.

Do not transfer a leaderboard number across harnesses without checking the model, observation type, action space, prompt, task revision, environment image, retry policy, and evaluator. A model using screenshots plus a visual grounder is not the same system as GLM-5.2 reading an accessibility tree. Even two GLM-5.2 systems can differ because one exposes application APIs while the other types and clicks.

OSWorld-2 and its paper update the benchmark problem and evaluation design. Treat OSWorld and OSWorld-2 results as source-bound measurements, not one interchangeable series. A future GLM-5.2 result should name the benchmark version and publish the full harness receipt.

Start with a read-only, accessibility-first task on a disposable test account. A good pilot asks the agent to navigate to a settings panel, extract three labeled values, and stop. It should not send, delete, buy, publish, or change permissions.

Use this sequence:

  1. Choose five tasks whose essential controls appear in the accessibility tree. Record the target app version and expected end state.
  2. Capture the exact tree, state hash, planner proposal, validator result, executor action, and next tree for every step.
  3. Run a no-action control where the planner describes the next step but the executor is disabled. This separates planning from execution bugs.
  4. Inject safe negative cases: a missing target, changed origin, stale tree, disabled button, and unconfirmed external write. Each must stop.
  5. Score task completion, unsafe-action proposals, validator rejections, grounding misses, recovery steps, latency, and token use separately.
  6. Add one reversible local write only after the read-only gate passes. Add an external write only with a human confirmation and an idempotent test destination.

Define acceptance before testing. An example gate is 5/5 read-only tasks complete, zero cross-origin actions, zero unconfirmed writes, and all five negative controls rejected. This is an example engineering threshold, not a measured GLM-5.2 result. Tighten it for higher-impact applications.

If your task needs screenshot understanding, repeat the pilot with the vision component named in every trace. Measure its grounding error apart from planner error. A caption that omits a disabled state can lead a capable planner to propose a bad click.

Choose the smallest observation system that exposes the required evidence:

  • Accessibility tree + GLM-5.2: best first test for accessible web and desktop controls, long textual state, and semantic locators. It avoids pretending GLM-5.2 sees pixels.
  • Accessibility tree + screenshot grounder + GLM-5.2: use when structure is accessible but layout, icons, charts, or visual errors matter. Preserve the provenance of both channels.
  • Native multimodal computer-use model: use when screenshots are the primary state, target grounding dominates the task, or the application exposes little useful structure.
  • Application API or structured tool: prefer it over GUI control when it offers a narrower, authenticated, idempotent operation. A typed API call is often easier to authorize and verify than a coordinate click.

The access product is a separate choice. A Z.ai Coding Plan can fit supported coding clients, while metered API access fits a custom planner harness. Coding Plan quota is not interchangeable with general metered API credit, and product terms can constrain automation routes. Compare the three delivery paths in our Coding Plan vs API vs self-hosting guide and verify current product terms before implementation.

If you need a hosted API route rather than a subscription client, compare GLM-5.2 API providers. If you want to measure agent performance, start from the GLM-5.2 benchmark evidence hub and publish the observation and executor configuration with the result.

Stop the run instead of improvising when any of these appears:

  • the origin, account, window, or owned target differs from the preflight;
  • the observation is stale or a modal appeared after planning;
  • an accessible name matches multiple controls and no stable disambiguator exists;
  • the vision description conflicts with the accessibility tree;
  • the task reaches a CAPTCHA, consent boundary, rate limit, or access control;
  • a requested action changes external state without exact confirmation;
  • the executor reports a timeout and the post-action state is ambiguous;
  • the action loop repeats the same state or exceeds its step budget;
  • the application hides the state needed to verify success;
  • a page instruction asks the agent to reveal secrets, relax policy, or run arbitrary code.

Do not solve an ambiguous outcome with an automatic retry. First read the current state through an independent path. If you cannot distinguish “not committed” from “committed but not acknowledged,” leave the operation pending for a human.

No model moves a pointer by itself. GLM-5.2 can propose a tool or action in text. A client, browser controller, desktop automation library, or application API performs it. That executor should accept only validated actions for an exact target.

Yes, an accessibility tree can be serialized as text and supplied to a text model. Whether the tree contains enough state depends on the application. Canvas content, images, visual overlap, color, and inaccessible controls can be absent.

Does GLM-5.2 have a published OSWorld score?

Section titled “Does GLM-5.2 have a published OSWorld score?”

We found no first-party GLM-5.2 OSWorld score in the sources checked for this guide. Our probe inspected metadata and source only; it ran zero benchmark tasks. A community result should remain labeled by its exact harness and revision.

Is an accessibility tree safer than a screenshot?

Section titled “Is an accessibility tree safer than a screenshot?”

It offers semantic targets and can reduce coordinate drift, but it is not a security boundary. Tree content is still untrusted, controls can be mislabeled, and a valid target can trigger a consequential action. Permission and verification gates remain necessary.

Should a computer-use agent use raw coordinates?

Section titled “Should a computer-use agent use raw coordinates?”

Avoid accepting raw coordinates from model prose or observed page text. If a screenshot-only application requires them, use a bounded grounder tied to the current owned viewport, validate the point against allowed regions, execute one action, and re-observe.

Yes. A vision component can turn screenshots into grounded, source-labeled evidence while GLM-5.2 plans over the text. Keep model identities, costs, privacy rules, and failure attribution visible in the trace.

We checked these sources on August 11, 2026. The audit used five public metadata requests in a disposable, digest-pinned Python container. The host-network exception was limited to outbound HTTPS after the known bridge DNS/fake-IP failure reproduced. No ports, networks, volumes, browser profiles, or weight files were created; both task containers and temporary files were verified absent afterward.

The metadata establishes interface compatibility, not agent quality. We did not call GLM-5.2 because this development task did not authorize GLM use, and we did not call MiniMax. We did not run OSWorld, inspect a private product router, or claim a leaderboard score. The private repository retains the reproducible probe under docs/evidence/glm-5-2-computer-use-2026-08-11/; the public sanitized result above preserves the source hashes and findings.