Coordinate space
Orgo computers boot at1280x720x24.
The current toolset, computer_toolset_20260801, takes no display size. Anthropic’s documentation states the rule directly: coordinates are always in the pixel space of the screenshots you return. Send an Orgo screenshot unresized and the coordinates Claude returns are already the computer’s pixels. Pass them straight to left_click.
A 1280x720 screenshot is inside Claude’s image size limit, so there is no reason to shrink one. If you resize anyway, keep the scale factor and divide the coordinates back before you click:
computer_20251124 and computer_20250124 still take display_width_px and display_height_px, and those must match the size of the screenshots you send. On a default Orgo computer that is 1280 and 720.
If you create a computer at a non-default resolution, or resize its screen later, use that resolution instead. GET /computers/{id}/screens reports the current width and height.
Setup
Install the required packages:The TypeScript SDK ships in version 1 of the
orgo npm package. From version 2, orgo on npm is the CLI and exports no library, so pin orgo@1 to import { Computer } from 'orgo'.Let Orgo run the loop
To skip writing the loop, call the Computer Use API.POST /v1/chat/completions runs the agent on Orgo’s side against the computer you name in computer_id, then returns the final assistant message in OpenAI’s chat completions format.
Run the agent loop yourself
For full control, drive the Anthropic API yourself. Three things about the toolset shape the loop:- One entry in
toolsdeclares every member. The member name arrives in thetool_useblock’sname, and there is noactionfield ininput. - Claude can return several member calls in one turn. Run them in order and stop at the first failure.
- Return one
tool_resultpertool_useblock, in a single user message. Member results echotoolset_name.
The toolset has 17 members, and the loop above maps 8 of them. The rest come back as an error A
tool_result, which Claude recovers from but wastes a turn on. Disable them with configs so Claude never sees them:configs that disables every member is rejected, so drop the whole entry instead of emptying it.Using Claude’s thinking capability
Claude can stream its reasoning through thethinking parameter:
Set
display: "summarized" to read the reasoning. The current models default to "omitted", which streams thinking blocks with empty text.Tool compatibility
Each member the loop above handles maps to one Orgo call:
Only
screenshot and zoom return images. Every other member returns text, so "OK" is a valid result.
Picking a model
claude-fable-5 and claude-fable-5-1 also support the toolset. claude-haiku-4-5 supports only the older computer_20250124 tool.
Tool versions
Match the tooltype to the model you are calling:
The two dated tool versions remain available for existing integrations. Use the toolset for anything new: it needs no beta header, it batches several actions into one turn, and it drops the display size fields that were the most common source of misplaced clicks.
The
bash_20250124 tool needs no beta header on any of them.
TypeScript users: All methods are async and must be awaited. The TypeScript SDK uses camelCase for method names (e.g.
leftClick instead of left_click).Video tutorial
The video covers setup. The tool shapes above are the current ones.