# Mage-VL-Cowork (slim)

> Mage-VL-Cowork is Microsoft's open-weight 4B computer-use model. It reads desktop screenshots and answers each turn with either mouse and keyboard actions or a shell command, built on Mage-VL, under Apache 2.0.

- Full: https://www.anchorterminal.com/tools/mage-vl-cowork.md (~8,500 tokens) · this version ~2,530 tokens · JSON https://www.anchorterminal.com/tools/mage-vl-cowork.json · canonical https://www.anchorterminal.com/tools/mage-vl-cowork
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-10-31 · pricing https://www.anchorterminal.com/tools/mage-vl-cowork#pricing · reviews https://www.anchorterminal.com/tools/mage-vl-cowork#reviews
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

**C · 61/100 · rank #57 of 120 open-weight models · #4 in Desktop & mobile app control · not agent-ready · confidence low**


Assessment: A small computer-use cousin that looks at a Linux desktop and answers each turn with clicks and keys or a shell command, under Apache 2.0, in about 12 GB at BF16. Microsoft documents only its SGLang container and Transformers. The risks are an example harness that runs shell commands unapproved, and a headline score that is Microsoft's own.

## Facts

- Kind: Open-weight model · vendor: Microsoft · category: Desktop & mobile app control · legal entity: Microsoft · provenance 67/100
- Packages: huggingface `microsoft/Mage-VL-Cowork`
- Auth: None · pricing: Free · x402: no · licence: Apache 2.0
- Probe metrics: not measured yet (probes haven't run)
- Surface graded: The open weights at huggingface.co/microsoft/Mage-VL-Cowork, read from the card, config, tokenizer config, chat template, preprocessor config, LICENSE, remote modeling code, the bundled osworld_eval agents and launcher, the Hub's metadata, file list and commits on 30 October 2026, with the microsoft/Mage GitHub README, SECURITY.md and mage_vl_cowork folder (raw files), the technical report PDF, the base Mage-VL card, the OSWorld leaderboard's data files and the runtimes' own code. The project page wasn't read. Nothing was downloaded beyond text files, and nothing was run
- Model: A vision-language model of the LLaVA-OneVision-2 kind (llava_onevision2 in the config, with Microsoft's own modeling code), Microsoft's from-scratch Mage-ViT encoder (24 layers, 16 by 16 patches, 3-D rotary positions) and a two-layer projector feeding a 36-layer Qwen3-4B-Instruct-2507 decoder. 4,741,793,792 BF16 parameters by the Hub's count, which the card rounds to 4B. Image and text in, text out
- Input and output: Each turn takes the task, folded one-line summaries of earlier steps, the three most recent screenshots (JPEG, 1920 by 1080 in the evaluation) and the four most recent full replies. It returns a think block, a one-sentence Action line and up to 15 tool calls of one kind, either computer_use (click, double_click, triple_click, move, drag, type, keypress, scroll, wait, screenshot, terminate, with coordinates on a 0 to 999 grid) or bash (one shell command, answered with merged stdout and stderr as text). The card gives the system prompt verbatim and says to use it unchanged
- Context: 32,768 tokens, the window it was trained and evaluated at per the card. The Qwen3 decoder's config allows 262,144, which the card says the architecture supports but this model wasn't trained to use
- Files: Two safetensors shards, 9.48 GB in BF16, with tokenizer, template, configs, the remote modeling and configuration code, and the osworld_eval reference agents and Docker launcher, 9.50 GB in all. No pickle files. The Hub lists a SHA-256 for each LFS file
- Licence: Apache 2.0, with the full text in the repository's LICENSE file and in the card's metadata, nothing added. The base microsoft/Mage-VL is Apache 2.0, its encoder microsoft/Mage-ViT is MIT and its language model Qwen/Qwen3-4B-Instruct-2507 is Apache 2.0, so the chain allows commercial use. Training used trajectories from OpenAI models as teachers; the cards put no term on users for that
- Runtimes: Hugging Face Transformers 4.57.3 and later through Microsoft's remote code (trust_remote_code). SGLang through Microsoft's own container, docker.io/xiaoyizhang/mage-vl-cowork:0.1.0 (SGLang 0.5.2, PyTorch 2.8.0, Transformers 5.7.0), with --tool-call-parser qwen25; upstream SGLang has no llava_onevision2 model. vLLM 0.30.0 to 0.32.0 carry a LlavaOnevision2ForConditionalGeneration implementation of the same architecture, which Microsoft doesn't document and nobody has shown loading this checkpoint. llama.cpp has nothing for it; Ollama and LM Studio couldn't be checked
- Recommended settings: Temperature 0.7 (0.0 for one deterministic run), top_p 0.8, max_new_tokens 4096 shared by the think block, Action line and tool calls, enable_thinking on, three screenshots and three full turns kept, a 50-step cap, 3 seconds after each GUI action and 300 seconds per shell command, as in the 66.0 per cent configuration
- Hardware: One CUDA GPU in the card's Docker command (--gpus device=0, shared memory 8 GB, SGLang at 0.82 of GPU memory). No memory figure is stated. Training used 32 NVIDIA B200s and 1,120 CPU sandbox slots. The 9.50 GB of files fit 12 GB with a fifth added
- Training data: Open GUI grounding sets (UGround, UI-E2I-Synth, OS-Atlas, MolmoWeb, JEDI, SeeClick), 293,806 synthesised desktop and web tasks over 6,915 skills, 318,837 teacher trajectories (68.19 per cent GUI calls, 31.81 per cent shell calls), 563,700 coding and terminal trajectories and ScaleCUA's 1,988 tasks for reinforcement learning, with sizes per stage in the report. No collection cut-off is given
- Safety: The card says it's built and evaluated for isolated, disposable sandboxes and asks for a container or VM with no host files, local network or personal environment variables, human confirmation before irreversible actions, no mounted credentials, and outbound allow-listing against indirect prompt injection. No safety evaluation is published. The example harness runs every shell command the model emits inside the OSWorld guest without a filter or approval step, using sudo with the guest's password for its own setup

- Scores: Capability pending, Reach 60, Risk 65, Agent interface 85, Documentation and upkeep 54 · total over the 7 assessed categories
- Why:  · Reach, Memory earns the full 30, since the only build is 9.50 GB of BF16 files that need about 11.4 GB with the fifth added. · Risk, File safety gets 15, safetensors only but loaded with trust_remote_code. · Agent interface, Read for a computer-use model, the tool-calling, trained tool calling and structured-output lines stand for what it takes and returns. · Documentation and upkeep, The card covers intended use, architecture, parameters, context and language, and misses limitations and a cut-off (14).
- Sources: 26, open questions: 7, both in the full twin
- Capabilities: desktop.control, desktop.scripting, model.open-weights
- JSON: https://www.anchorterminal.com/api/v1/tools/mage-vl-cowork.json
- Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/mage-vl-cowork.svg` or a link to https://www.anchorterminal.com/tools/mage-vl-cowork from a page on microsoft.com or one of its subdomains, or a page under github.com/microsoft, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin.
- Support: https://github.com/microsoft/Mage/tree/main/mage_vl_cowork; more in the full twin

## Before you call it

1. Run it only in a disposable VM or container with no host mounts, credentials or local network, as the card says; OSWorld's Docker provider is the tested setting
2. Quickest local load, `pip install "transformers>=4.57.3" accelerate pillow torch torchvision qwen-vl-utils`, then AutoProcessor and AutoModelForCausalLM from microsoft/Mage-VL-Cowork with trust_remote_code=True and torch_dtype bfloat16
3. To serve it, download the repository and run `MODEL_DIR=/path/to/Mage-VL-Cowork bash osworld_eval/scripts/serve_sglang_docker.sh`, which pulls xiaoyizhang/mage-vl-cowork:0.1.0 and listens on 127.0.0.1:30001; the card's bare sglang.launch_server command binds 0.0.0.0
4. Use the card's MAGE_HYBRID_SYSTEM_PROMPT unchanged, render with apply_chat_template(enable_thinking=True), send base64 JPEG screenshots to SGLang's native POST /generate, temperature 0.7, top_p 0.8, max_new_tokens 4096
5. Coordinates come back on a 0 to 999 grid; scale x by width/1000 and y by height/1000. Answer computer_use calls with a new screenshot and bash calls with text in tool_response, keeping three screenshots and folding older turns into one-line summaries
6. Put a human confirmation step in front of bash and irreversible GUI actions yourself; the bundled MAGEHybridAgent has none
7. vLLM 0.32.0 registers the LlavaOnevision2 architecture, but Microsoft doesn't document it; test it before relying on it

## Connect

```bash
pip install "transformers>=4.57.3" accelerate pillow torch torchvision qwen-vl-utils
# then AutoProcessor.from_pretrained("microsoft/Mage-VL-Cowork", trust_remote_code=True)
# and AutoModelForCausalLM.from_pretrained("microsoft/Mage-VL-Cowork", trust_remote_code=True, torch_dtype=torch.bfloat16, device_map="auto")
# system prompt: the card's MAGE_HYBRID_SYSTEM_PROMPT, verbatim
```

```bash
# after: hf download microsoft/Mage-VL-Cowork --local-dir Mage-VL-Cowork && MODEL_DIR=$PWD/Mage-VL-Cowork bash Mage-VL-Cowork/osworld_eval/scripts/serve_sglang_docker.sh
# (Microsoft's SGLang container on 127.0.0.1:30001; prompts are rendered with the AutoProcessor chat template and sent to SGLang's native /generate)
curl --fail http://127.0.0.1:30001/health
```

## Similar tools

| Tool | Grade | Score | Shared capabilities | Slim |
| --- | --- | --- | --- | --- |
| Robocorp | B | 65.5 | desktop.control, desktop.scripting | https://www.anchorterminal.com/tools/robocorp.min.md |
| AutoHotkey | D | 53.1 | desktop.control, desktop.scripting | https://www.anchorterminal.com/tools/autohotkey.min.md |
| AutoIt | D | 46.5 | desktop.control, desktop.scripting | https://www.anchorterminal.com/tools/autoit.min.md |
| Qwen3-Embedding-8B | BB | 74.7 | model.open-weights | https://www.anchorterminal.com/tools/qwen3-embedding-8b.min.md |
| Gemma 4 31B IT | BB | 74.1 | model.open-weights | https://www.anchorterminal.com/tools/gemma-4-31b-it.min.md |


## Panel reviews (0, desk reviews from public material, no calls made)

