Skip to main content
Wire Anthropic’s computer use toolset to an Orgo computer. Claude sees a screenshot, asks for a click or a keystroke, and your loop runs it on the computer.

Coordinate space

Orgo computers boot at 1280x720x24. 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:
Send a downscaled screenshot and click the raw coordinates and every click lands short of where Claude aimed. Nothing errors. The agent looks like it is confidently clicking the wrong thing.
The older tool versions work differently. 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:
Set up your API keys:

Simple usage

The quickest way to use Orgo with Claude is the built-in prompt() method:
This runs the whole agent loop for you.
Tip: computer.prompt("your instruction") is all most projects need. Reach for the advanced usage below only when you want to own the loop.

Customizing the prompt method

You can customize the prompt with optional parameters:

Advanced usage

For full control, drive the Anthropic API yourself. Three things about the toolset shape the loop:
  • One entry in tools declares every member. The member name arrives in the tool_use block’s name, and there is no action field in input.
  • Claude can return several member calls in one turn. Run them in order and stop at the first failure.
  • Return one tool_result per tool_use block, in a single user message. Member results echo toolset_name.
The toolset has 17 members, and the loop above maps the 8 Orgo has a method for. The rest come back as an error tool_result, which Claude recovers from but wastes a turn on. Disable them with configs so Claude never sees them:
A 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 the thinking parameter:
Set display: "summarized" to read the reasoning. The current models default to "omitted", which streams thinking blocks with empty text.

Tool compatibility

Orgo has a method for each member tool a desktop agent reaches for: Only screenshot and zoom return images. Every other member returns text, so "OK" is a valid result.

Picking a model

claude-fable-5 also supports the toolset. claude-haiku-4-5 does not support computer use.

Tool versions

Match the tool type 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.