Python 88.3%
TypeScript 7.6%
Shell 4.1%
1#!/usr/bin/env bash2set -eo pipefail3cd "$(dirname "$0")/../../.."4source scripts/lib.sh5MODEL="${MODEL:-claude-haiku-4-5-20251001}"6# Beta computer_20251124 (header computer-use-2025-11-24, name "computer", display_* required). Step 2 returns a 1x1 PNG as the screenshot.7# STATUS: LIVE_VERIFIED 2026-09-18 (h1/h2 on claude-sonnet-4-6: tool_use input {"action":"screenshot"} then text; ~$0.013). Haiku 4.5 -> 400.8MODEL="${MODEL:-claude-sonnet-4-6}"9CU='[{"type":"computer_20251124","name":"computer","display_width_px":1024,"display_height_px":768,"display_number":1}]'10PNG="iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=="11R1=$(ant POST /v1/messages -H 'anthropic-beta: computer-use-2025-11-24' -d "$(jq -n --argjson t "$CU" --arg m "$MODEL" '{model:$m,max_tokens:100,tools:$t,messages:[{role:"user",content:"Take a screenshot."}]}')")12log_request anthropic POST /v1/messages "$ANT_STATUS" 0.006 "computer-use/computer_20251124.sh step1"13echo "$R1" | jq -c '.content[]|select(.type=="tool_use")|{name,input}'14ID=$(echo "$R1" | jq -r '.content[]|select(.type=="tool_use")|.id')15R2=$(ant POST /v1/messages -H 'anthropic-beta: computer-use-2025-11-24' -d "$(jq -n --argjson t "$CU" --arg m "$MODEL" --argjson a "$(echo "$R1"|jq .content)" --arg id "$ID" --arg png "$PNG" '{model:$m,max_tokens:50,tools:$t,messages:[{role:"user",content:"Take a screenshot."},{role:"assistant",content:$a},{role:"user",content:[{type:"tool_result",tool_use_id:$id,content:[{type:"image",source:{type:"base64",media_type:"image/png",data:$png}}]}]}]}')")16log_request anthropic POST /v1/messages "$ANT_STATUS" 0.007 "computer-use/computer_20251124.sh step2"17echo "$R2" | jq -c '.stop_reason, .content'18