Hosted Computer Use

Server-side execution of Claude computer use agents via WebSocket.

Executes Anthropic Claude computer use on Orgo VMs. See docs.orgo.ai for setup.

Endpoint

WebSocket wss://agent.orgo.ai/ws/prompt?token=YOUR_API_KEY

Request

{
  "type": "start",
  "config": {
    "computer_id": "uuid-of-your-computer",
    "instruction": "Open Firefox and search for AI news"
  }
}

Configuration

FieldDescriptionDefault
computer_idOrgo computer UUIDrequired
instructionTask for the agentrequired
modelClaude modelclaude-sonnet-4-5-20250929
display_widthScreen width1024
display_heightScreen height768
thinking_enabledExtended thinkingtrue
thinking_budgetThinking tokens1024
max_tokensResponse tokens4096
max_iterationsMax agent loops100
system_promptCustom instructionsnull

Events

EventDescriptionData
statusStatus updatestring
thinkingClaude reasoningstring
textClaude responsestring
tool_useAction requested{action, params}
tool_resultAction complete{action, ...}
screenshotScreenshot taken{size}
errorErrorstring
resultFinal result{success, iterations}

Examples

Python

import asyncio, json, websockets

async def run():
    uri = "wss://agent.orgo.ai/ws/prompt?token=YOUR_KEY"
    async with websockets.connect(uri) as ws:
        await ws.send(json.dumps({
            "type": "start",
            "config": {
                "computer_id": "your-computer-uuid",
                "instruction": "Open Firefox"
            }
        }))
        async for msg in ws:
            event = json.loads(msg)
            print(f"[{event['type']}]", event.get('data'))
            if event['type'] in ['result', 'error']: break

asyncio.run(run())

JavaScript

const ws = new WebSocket(`wss://agent.orgo.ai/ws/prompt?token=${KEY}`)
ws.onopen = () => ws.send(JSON.stringify({
  type: "start",
  config: { computer_id: "uuid", instruction: "Open Firefox" }
}))
ws.onmessage = e => {
  const {type, data} = JSON.parse(e.data)
  console.log(`[${type}]`, data)
  if (type === 'result' || type === 'error') ws.close()
}

Try It