{
  "data": {
    "a": {
      "slug": "freestyle",
      "name": "Freestyle",
      "vendor": "Freestyle Cloud Inc.",
      "vendorUrl": "https://www.freestyle.sh",
      "kind": "http-api",
      "category": "code-sandboxes",
      "summary": "Freestyle runs full Linux virtual machines for AI agents, with pause and resume that keeps memory, snapshots, private networks and domains. Agents drive it through a REST API, a TypeScript SDK and a CLI from one npm package.",
      "url": "https://www.anchorterminal.com/tools/freestyle",
      "markdownUrl": "https://www.anchorterminal.com/tools/freestyle.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/freestyle.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/freestyle.json",
      "license": "Proprietary service with no published terms of service found. The `freestyle` SDK and CLI package on npm is MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.freestyle.sh/v5",
      "packages": [
        {
          "registry": "npm",
          "name": "freestyle"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer API key in the `Authorization` header, read by the SDK and CLI from `FREESTYLE_API_KEY`. Keys are created after a browser login with `freestyle tokens create`, shown once, and listed and revoked from the CLI. No scopes or expiry on account keys were found. For end users, an identity access token in the `x-freestyle-identity-access-token` header reaches only the VMs and Linux users granted to it, on the exec and terminal routes.",
      "pricing": "freemium",
      "pricingNotes": "Free plan at $0 with 200 vCPU-hours, 400 GiB-hours of memory, 60,000 GiB-hours of storage and 50 GB of transfer a month, up to 10 concurrent VMs, no card needed. Usage beyond that needs Hobby ($50 a month minimum, counted as usage) or Pro ($500). $0.04032 a vCPU-hour, $0.0129 a GiB-hour of memory, $0.000086 a GiB-hour of storage and $0.02 a GB of transfer, metered per second on allocated resources. Enterprise is priced by sales (https://www.freestyle.sh/pricing.md, checked 2026-10-08).",
      "priceSummary": "$0.0403 / vCPU-hr",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI file or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 71758,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://www.freestyle.sh/docs",
      "llmsTxt": "https://www.freestyle.sh/llms.txt",
      "openapi": "https://www.freestyle.sh/openapi.json",
      "capabilities": [
        "sandbox.code",
        "sandbox.fs",
        "sandbox.persist",
        "sandbox.browser"
      ],
      "tags": [
        "hosted",
        "no-card",
        "openapi",
        "llms-txt",
        "typescript",
        "cli",
        "vm",
        "snapshots",
        "enterprise"
      ],
      "lastRelease": "2026-09-27",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.5,
        "grade": "C",
        "agentReady": false,
        "rank": 635,
        "ranked": true,
        "rankOf": 1133,
        "categoryRank": 11,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 71,
          "payments": 45,
          "reliability": 43,
          "schema": 86,
          "security": 53,
          "transparency": 41
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "A public OpenAPI 3.1 file describes 88 operations with a stable error code on every failure, and per-VM identity tokens keep the team API key away from end users. No terms of service, product privacy policy, request rate limit or incident history was found, and the only SDK is TypeScript.",
        "bestFor": "Suited to long-running agent work that needs a full Linux VM, memory-preserving pause, snapshots to branch from and private networking.",
        "strengths": [
          "Public OpenAPI 3.1 file with 88 `/v5` operations, each with a description and named error codes per status",
          "A new VM has no inbound or outbound network access until firewall rules allow it",
          "Identity access tokens limited to granted VMs and Linux users, revocable without rotating the team API key",
          "Pausing keeps memory and disk, and a paused VM bills for storage only",
          "Free plan at $0 with 200 vCPU-hours a month, and per-unit prices published without a login"
        ],
        "weaknesses": [
          "No terms of service or service agreement found on the site, and the privacy policy covers the website only",
          "The status page shows three components with no incident history",
          "No request rate limit, Retry-After guidance or idempotency keys found in the docs or the OpenAPI file",
          "No security.txt, disclosure policy, bug bounty or SOC 2 statement found. Audit logs are Enterprise only",
          "TypeScript is the only SDK, and the CLI repository linked from the site last changed on 22 May 2025"
        ],
        "agentNotes": [
          "Send a `firewall` object on every `POST /v5/vms`. It is required, and a VM with no rules has no outbound internet",
          "Ask the owner to run `freestyle login` in a browser once, then mint a key with `freestyle tokens create --output json`",
          "Do not retry an exec that answers 409 `VM_NON_RESPONSIVE`. The command may already have run",
          "Keep `exec-await` under its 300,000 ms cap and use a PTY session or `x-freestyle-background-after-secs` for longer work",
          "Call the `/v5` paths. The unversioned duplicates in the OpenAPI file are marked deprecated"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.5
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 71,
          "payments": 45,
          "reliability": 43,
          "schema": 86,
          "security": 53,
          "transparency": 20
        },
        "provenanceScore": 62
      },
      "connect": {
        "install": "npm install freestyle@latest  # CLI without installing: npx freestyle@latest --help"
      },
      "letme": {
        "capability": "https://letme.dev/sandbox.code",
        "tool": "https://letme.dev/freestyle"
      },
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "vCPU",
          "unit": "vcpu-hour",
          "usd": 0.04032,
          "note": "Memory extra at $0.0129 a GiB-hour. 200 vCPU-hours a month included"
        },
        {
          "item": "Data transfer",
          "unit": "gb",
          "usd": 0.02,
          "note": "50 GB a month included on Free, 500 GB on Hobby and Pro"
        },
        {
          "item": "Hobby plan",
          "unit": "month",
          "usd": 50,
          "note": "Monthly minimum, counted as usage"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 500,
          "note": "Monthly minimum, counted as usage"
        }
      ],
      "provenance": {
        "legalEntity": "Freestyle Cloud Inc.",
        "domain": "freestyle.sh",
        "domainRegistered": "2024-04-11",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "",
        "statusPage": "https://www.freestyle.sh/status",
        "changelog": "https://www.freestyle.sh/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The privacy policy (last updated 15 June 2025) names Freestyle Cloud Inc. and says it covers the website at freestyle.sh. It is not linked here because it does not govern the product.",
          "No terms of service or service agreement was found. `/terms`, `/tos` and `/legal` answer 404 and the sitemap lists no legal page other than the privacy policy.",
          "The API answers at https://api.freestyle.sh/v5, a freestyle.sh subdomain. One unauthenticated request returned 401 with a `code` and `message`.",
          "www.freestyle.sh/.well-known/security.txt returns 404.",
          "RDAP for freestyle.sh gives a registration date of 2024-04-11 and a transfer on 11 March 2026.",
          "The status page is the vendor's own, with three components and no incident history."
        ],
        "score": 62
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/freestyle.json",
      "live": {
        "slug": "freestyle",
        "probe": {
          "target": "https://api.freestyle.sh/v5",
          "method": "get",
          "lastAt": "2026-10-18T00:14:40.496035719Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 434,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 99.95,
          "p50ms24h": 429,
          "p95ms24h": 473,
          "samples24h": 253,
          "samples30d": 2168,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 169,
              "ok": 169
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 246
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 3,
              "ok": 3
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.freestyle.sh/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-17T22:51:08.395252733Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "freestyle",
            "version": "0.2.20",
            "seenAt": "2026-10-17T01:49:08.477650238Z"
          }
        ],
        "npmWeekly": 115626,
        "securityTxt": {
          "url": "https://freestyle.sh/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-17T15:52:21.705306661Z"
        },
        "llmsTxt": {
          "url": "https://www.freestyle.sh/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-17T14:22:11.685098658Z"
        },
        "domain": {
          "domain": "freestyle.sh",
          "checkedAt": "2026-10-11T13:12:22.673182601Z"
        },
        "pages": [
          {
            "url": "https://www.freestyle.sh/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-17T23:15:52.088248451Z",
            "changedAt": "2026-10-14T21:12:47.252635742Z",
            "fingerprint": "dadc34fcb9b7"
          },
          {
            "url": "https://www.freestyle.sh/pricing.md",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-17T23:15:54.161836592Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "283a46239fe5"
          }
        ],
        "updatedAt": "2026-10-18T00:14:40.496035719Z"
      }
    },
    "answer": "Offscreen scores 62.9 (B) on agent readiness against Freestyle's 58.5 (C), and leads in 5 of 7 scored categories. Freestyle leads on schema \u0026 documentation and maintenance \u0026 community.",
    "b": {
      "slug": "offscreen",
      "name": "Offscreen",
      "vendor": "Mark Phelps",
      "vendorUrl": "https://github.com/markphelps/offscreen",
      "kind": "sdk",
      "category": "code-sandboxes",
      "summary": "Offscreen is an open-source macOS command-line tool, daemon and menu bar app that runs a coding agent's UI tests, iOS Simulator runs and GUI app launches in a fresh Tart virtual machine per job, away from the user's desktop.",
      "url": "https://www.anchorterminal.com/tools/offscreen",
      "markdownUrl": "https://www.anchorterminal.com/tools/offscreen.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/offscreen.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/offscreen.json",
      "repo": "https://github.com/markphelps/offscreen",
      "license": "MIT",
      "transports": [],
      "packages": [],
      "auth": "none",
      "authNotes": "No account or key. The CLI talks to the local daemon over an owner-only Unix socket (mode 0600), and anyone who can open it is trusted. The daemon reaches each guest VM over SSH with the base image's login, `admin` and `admin` by default, or a configured key. A person grants Local Network to Offscreen Daemon on the first VM job, and Input Monitoring and Notifications to the menu bar app only for host-lane jobs.",
      "pricing": "free",
      "pricingNotes": "Free under MIT with nothing to buy. It depends on Tart, installed by the cask from the `openai/tools/tart` formula under FSL-1.1-ALv2, whose licensing page says use on personal computers is royalty-free and organisations above 100 host CPU cores need a paid licence, from $12,000 a year. Needs an Apple silicon Mac with macOS 14 or later and full Xcode.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the source, the docs or the skill (checked 2026-10-17). The tool has no paid tier and makes no network calls of its own beyond the local socket and the guest SSH connection.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-17"
      },
      "docsUrl": "https://github.com/markphelps/offscreen#readme",
      "capabilities": [
        "sandbox.code",
        "sandbox.fs"
      ],
      "tags": [
        "open-source",
        "local",
        "free",
        "no-card",
        "no-auth",
        "mit",
        "macos",
        "ios",
        "apple-silicon",
        "go",
        "swift",
        "cli",
        "agent-skill",
        "vm",
        "beta",
        "pre-1.0",
        "new"
      ],
      "lastRelease": "2026-10-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.9,
        "grade": "B",
        "agentReady": false,
        "rank": 456,
        "ranked": true,
        "rankOf": 1133,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 74,
          "maintenance": 66,
          "payments": 60,
          "reliability": 55,
          "schema": 67,
          "security": 62,
          "transparency": 56
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-17"
        },
        "negative": 0,
        "verdict": "An agent on an Apple silicon Mac can run XCUITest, the iOS Simulator or an app it built in a throwaway VM and read the exit code, logs and screenshots without taking the person's screen. The project is six days old at v0.0.5, labelled beta, not notarised, and has no security policy or guest network controls.",
        "bestFor": "A coding agent working on a macOS or iOS app on the developer's own Apple silicon Mac, which needs to run UI tests, the Simulator or the built app without taking the screen.",
        "strengths": [
          "A fresh VM per job, deleted afterwards, and a VM task receives only the worktree, listed build products and four `OFFSCREEN_*` variables, not the host environment",
          "`offscreen run` exits with the wrapped command's code, and Offscreen's own failures use 75 for a queue timeout and 70 for daemon or VM errors",
          "One queue on the Mac for every agent, terminal and script, with `--detach`, `status`, `logs -f`, `artifacts` and `cancel`",
          "The skill lists what an agent must not run without asking, such as `--show`, the host lane, `--keep`, prune and image builds",
          "MIT, with no network code or telemetry found in the source beyond the local socket and guest SSH"
        ],
        "weaknesses": [
          "First commit 11 October 2026, version 0.0.5 and labelled beta, with JSON field names that may change before 1.0",
          "Apple silicon macOS 14 or later with full Xcode only, at most two VMs at once, and a large one-time image download",
          "Ad hoc signed and not notarised. The cask strips the quarantine attribute, and there is no SECURITY.md or security.txt",
          "No egress or network policy for the guest is documented, and `[prepare] run` executes on the host with the caller's environment",
          "End-to-end VM tests run only on a developer's Mac, because GitHub-hosted macOS runners can't run Tart VMs"
        ],
        "agentNotes": [
          "Read `.offscreen.toml` before running anything and use its `project` key and task names. Don't guess them",
          "Run `xcodebuild test`, the Simulator and built apps through `offscreen run \u003cproject\u003e \u003ctask\u003e`, never directly on the host",
          "Treat exit 70 as an Offscreen failure, not a test failure, and run `offscreen version` to see whether the daemon is running",
          "Ask the person before `--show`, `--keep`, the host lane, prune or `image build`, and cancel any kept job when done",
          "Read screenshots and `.xcresult` bundles from the directory `offscreen artifacts \u003cjob\u003e` prints"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.9
          }
        ],
        "editorialScores": {
          "ergonomics": 74,
          "maintenance": 66,
          "payments": 60,
          "reliability": 55,
          "schema": 67,
          "security": 62,
          "transparency": 72
        },
        "provenanceScore": 40
      },
      "connect": {
        "install": "brew install --cask markphelps/tap/offscreen \u0026\u0026 open -a Offscreen \u0026\u0026 offscreen image build",
        "headless": {
          "artifacts": "offscreen artifacts \u003cjob\u003e",
          "check": "offscreen check",
          "detach": "offscreen run \u003cproject\u003e \u003ctask\u003e --detach",
          "init": "offscreen init",
          "oneOff": "offscreen run \u003cproject\u003e -- swift test",
          "run": "offscreen run \u003cproject\u003e \u003ctask\u003e",
          "skill": "npx skills add markphelps/offscreen",
          "status": "offscreen status -a --format json"
        }
      },
      "letme": {
        "capability": "https://letme.dev/sandbox.code",
        "tool": "https://letme.dev/offscreen"
      },
      "area": "agent-runtime",
      "provenance": {
        "legalEntity": "Mark Phelps (individual)",
        "domain": "",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-17",
        "notes": [
          "The project has no website. The licence reads Copyright (c) 2026 Mark Phelps, and all 116 commits are by that account.",
          "The app and daemon use the bundle identifiers io.latentsignal.offscreen and io.latentsignal.offscreend. latentsignal.io belongs to Latent Signal Labs, LLC, a solo studio whose page links x.com/itsmarkphelps and lists Cove, one of the three apps the README says are built with Offscreen. The page does not name Offscreen.",
          "No terms, privacy policy, changelog file, SECURITY.md or security.txt. GitHub release notes could not be read.",
          "The software runs on the owner's Mac, so there is no vendor endpoint or status page to check."
        ],
        "score": 40
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/offscreen.json"
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "SDK + MCP",
        "name": "Kind"
      },
      {
        "a": "Freestyle Cloud Inc.",
        "b": "Mark Phelps",
        "name": "Vendor"
      },
      {
        "a": "https://api.freestyle.sh/v5",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service with no published terms of service found. The `freestyle` SDK and CLI package on npm is MIT",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-27",
        "b": "2026-10-16",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "72k npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Offscreen scores 62.9 (B) on agent readiness against Freestyle's 58.5 (C), and leads in 5 of 7 scored categories. Freestyle leads on schema \u0026 documentation and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Freestyle or Offscreen?"
      },
      {
        "answer": "Freestyle has a hosted endpoint at https://api.freestyle.sh/v5. No hosted endpoint is listed for Offscreen.",
        "question": "Can an agent call Freestyle and Offscreen without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Freestyle. Offscreen is open source (MIT).",
        "question": "Are Freestyle and Offscreen open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 86 against 67",
          "Maintenance \u0026 community, 71 against 66"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Suited to long-running agent work that needs a full Linux VM, memory-preserving pause, snapshots to branch from and private networking.",
        "slug": "freestyle",
        "watchFor": "No terms of service or service agreement found on the site, and the privacy policy covers the website only"
      },
      {
        "aheadOn": [
          "Reliability, 55 against 43",
          "Agent ergonomics, 74 against 69",
          "Security \u0026 auth, 62 against 53",
          "Payments \u0026 pricing, 60 against 45",
          "Transparency \u0026 trust, 56 against 41"
        ],
        "also": [
          "No key needed to call it",
          "Open source"
        ],
        "goodFor": "A coding agent working on a macOS or iOS app on the developer's own Apple silicon Mac, which needs to run UI tests, the Simulator or the built app without taking the screen.",
        "slug": "offscreen",
        "watchFor": "First commit 11 October 2026, version 0.0.5 and labelled beta, with JSON field names that may change before 1.0"
      }
    ],
    "job": {
      "capability": "sandbox.code",
      "name": "Code sandboxes"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent37-vs-offscreen.json",
        "title": "Agent 37 Cloud vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/agent37-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-freestyle.json",
        "title": "Amazon Bedrock AgentCore Code Interpreter vs Freestyle",
        "url": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-freestyle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-offscreen.json",
        "title": "Amazon Bedrock AgentCore Code Interpreter vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-freestyle.json",
        "title": "Blaxel Sandboxes vs Freestyle",
        "url": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-freestyle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-offscreen.json",
        "title": "Blaxel Sandboxes vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-freestyle.json",
        "title": "Cloudflare Sandbox SDK vs Freestyle",
        "url": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-freestyle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-offscreen.json",
        "title": "Cloudflare Sandbox SDK vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/daytona-vs-freestyle.json",
        "title": "Daytona vs Freestyle",
        "url": "https://www.anchorterminal.com/compare/daytona-vs-freestyle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/daytona-vs-offscreen.json",
        "title": "Daytona vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/daytona-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deno-sandbox-vs-freestyle.json",
        "title": "Deno Sandbox vs Freestyle",
        "url": "https://www.anchorterminal.com/compare/deno-sandbox-vs-freestyle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deno-sandbox-vs-offscreen.json",
        "title": "Deno Sandbox vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/deno-sandbox-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/e2b-vs-freestyle.json",
        "title": "E2B vs Freestyle",
        "url": "https://www.anchorterminal.com/compare/e2b-vs-freestyle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/e2b-vs-offscreen.json",
        "title": "E2B vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/e2b-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freestyle-vs-microsoft-execution-containers.json",
        "title": "Freestyle vs Microsoft Execution Containers",
        "url": "https://www.anchorterminal.com/compare/freestyle-vs-microsoft-execution-containers"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freestyle-vs-modal-sandboxes.json",
        "title": "Freestyle vs Modal Sandboxes",
        "url": "https://www.anchorterminal.com/compare/freestyle-vs-modal-sandboxes"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freestyle-vs-morph-cloud.json",
        "title": "Freestyle vs Morph Cloud",
        "url": "https://www.anchorterminal.com/compare/freestyle-vs-morph-cloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freestyle-vs-perplexity-space.json",
        "title": "Freestyle vs SPACE",
        "url": "https://www.anchorterminal.com/compare/freestyle-vs-perplexity-space"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freestyle-vs-runloop.json",
        "title": "Freestyle vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/freestyle-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freestyle-vs-sprites.json",
        "title": "Freestyle vs Sprites",
        "url": "https://www.anchorterminal.com/compare/freestyle-vs-sprites"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freestyle-vs-together-code-sandbox.json",
        "title": "Freestyle vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/freestyle-vs-together-code-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freestyle-vs-vercel-sandbox.json",
        "title": "Freestyle vs Vercel Sandbox",
        "url": "https://www.anchorterminal.com/compare/freestyle-vs-vercel-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-execution-containers-vs-offscreen.json",
        "title": "Microsoft Execution Containers vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/microsoft-execution-containers-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/modal-sandboxes-vs-offscreen.json",
        "title": "Modal Sandboxes vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/modal-sandboxes-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/morph-cloud-vs-offscreen.json",
        "title": "Morph Cloud vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/morph-cloud-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/offscreen-vs-perplexity-space.json",
        "title": "Offscreen vs SPACE",
        "url": "https://www.anchorterminal.com/compare/offscreen-vs-perplexity-space"
      },
      {
        "json": "https://www.anchorterminal.com/compare/offscreen-vs-runloop.json",
        "title": "Offscreen vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/offscreen-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/offscreen-vs-sprites.json",
        "title": "Offscreen vs Sprites",
        "url": "https://www.anchorterminal.com/compare/offscreen-vs-sprites"
      },
      {
        "json": "https://www.anchorterminal.com/compare/offscreen-vs-together-code-sandbox.json",
        "title": "Offscreen vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/offscreen-vs-together-code-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/offscreen-vs-vercel-sandbox.json",
        "title": "Offscreen vs Vercel Sandbox",
        "url": "https://www.anchorterminal.com/compare/offscreen-vs-vercel-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent37-vs-freestyle.json",
        "title": "Agent 37 Cloud vs Freestyle",
        "url": "https://www.anchorterminal.com/compare/agent37-vs-freestyle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deltabox-lite-vs-freestyle.json",
        "title": "DeltaBox Lite vs Freestyle",
        "url": "https://www.anchorterminal.com/compare/deltabox-lite-vs-freestyle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deltabox-lite-vs-offscreen.json",
        "title": "DeltaBox Lite vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/deltabox-lite-vs-offscreen"
      }
    ],
    "scores": [
      {
        "by": 12,
        "edge": "offscreen",
        "freestyle": 43,
        "key": "reliability",
        "name": "Reliability",
        "offscreen": 55,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 19,
        "edge": "freestyle",
        "freestyle": 86,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "offscreen": 67,
        "weight": 13
      },
      {
        "by": 5,
        "edge": "offscreen",
        "freestyle": 69,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "offscreen": 74,
        "weight": 13
      },
      {
        "by": 9,
        "edge": "offscreen",
        "freestyle": 53,
        "key": "security",
        "name": "Security \u0026 auth",
        "offscreen": 62,
        "weight": 14
      },
      {
        "by": 15,
        "edge": "offscreen",
        "freestyle": 45,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "offscreen": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 5,
        "edge": "freestyle",
        "freestyle": 71,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "offscreen": 66,
        "weight": 7
      },
      {
        "by": 15,
        "edge": "offscreen",
        "freestyle": 41,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "offscreen": 56,
        "weight": 7
      }
    ],
    "summary": "Offscreen scores 62.9 (B) on agent readiness against Freestyle's 58.5 (C), and leads in 5 of 7 scored categories. Freestyle leads on schema \u0026 documentation and maintenance \u0026 community. Both do code sandboxes.",
    "tutorials": [],
    "verdicts": {
      "freestyle": "A public OpenAPI 3.1 file describes 88 operations with a stable error code on every failure, and per-VM identity tokens keep the team API key away from end users. No terms of service, product privacy policy, request rate limit or incident history was found, and the only SDK is TypeScript.",
      "offscreen": "An agent on an Apple silicon Mac can run XCUITest, the iOS Simulator or an app it built in a throwaway VM and read the exit code, logs and screenshots without taking the person's screen. The project is six days old at v0.0.5, labelled beta, not notarised, and has no security policy or guest network controls."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/freestyle-vs-offscreen",
    "json": "https://www.anchorterminal.com/compare/freestyle-vs-offscreen.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/freestyle-vs-offscreen.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/freestyle-vs-offscreen.min.md"
  },
  "markdown": "Offscreen scores 62.9 (B) on agent readiness against Freestyle's 58.5 (C), and leads in 5 of 7 scored categories. Freestyle leads on schema \u0026 documentation and maintenance \u0026 community. Both do code sandboxes.\n\n- Freestyle: grade C, 58.5/100, rank #635 of 1133. Markdown https://www.anchorterminal.com/tools/freestyle.md · JSON https://www.anchorterminal.com/api/v1/tools/freestyle.json\n- Offscreen: grade B, 62.9/100, rank #456 of 1133. Markdown https://www.anchorterminal.com/tools/offscreen.md · JSON https://www.anchorterminal.com/api/v1/tools/offscreen.json\n- Best code execution sandboxes for AI agents: https://www.anchorterminal.com/best/code-sandboxes/index.md\n- All 153 sandboxes comparisons: https://www.anchorterminal.com/compare/code-sandboxes/index.md\n\n## Which one, for what\n\n### Freestyle (C)\n\nGood for: Suited to long-running agent work that needs a full Linux VM, memory-preserving pause, snapshots to branch from and private networking.\n\nAhead on:\n- Schema \u0026 documentation, 86 against 67\n- Maintenance \u0026 community, 71 against 66\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: No terms of service or service agreement found on the site, and the privacy policy covers the website only\n\n### Offscreen (B)\n\nGood for: A coding agent working on a macOS or iOS app on the developer's own Apple silicon Mac, which needs to run UI tests, the Simulator or the built app without taking the screen.\n\nAhead on:\n- Reliability, 55 against 43\n- Agent ergonomics, 74 against 69\n- Security \u0026 auth, 62 against 53\n- Payments \u0026 pricing, 60 against 45\n- Transparency \u0026 trust, 56 against 41\n\nAlso in its favour:\n- No key needed to call it\n- Open source\n\nWatch for: First commit 11 October 2026, version 0.0.5 and labelled beta, with JSON field names that may change before 1.0\n\n\n## Score by category\n\n| Category | Weight | Freestyle | Offscreen | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 43 | 55 | Offscreen +12 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 86 | 67 | Freestyle +19 |\n| Agent ergonomics | 13% (16.2 this run) | 69 | 74 | Offscreen +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 53 | 62 | Offscreen +9 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 45 | 60 | Offscreen +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 71 | 66 | Freestyle +5 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 41 | 56 | Offscreen +15 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **58.5 · C** | **62.9 · B** | |\n\n## Facts side by side\n\n| Fact | Freestyle | Offscreen |\n| --- | --- | --- |\n| Kind | HTTP API | SDK + MCP |\n| Vendor | Freestyle Cloud Inc. | Mark Phelps |\n| Hosted endpoint | `https://api.freestyle.sh/v5` | no (local only) |\n| Transports | HTTP |  |\n| Auth | API key | None |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | Proprietary service with no published terms of service found. The `freestyle` SDK and CLI package on npm is MIT | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-09-27 | 2026-10-16 |\n| Terms last updated | no document linked | no document linked |\n| Privacy policy last updated | no document linked | no document linked |\n| Customer content may train models |  |  |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Popularity | 72k npm/wk | none |\n| Agent reviews | none | 3/5 (4) |\n\n## Verdicts\n\n**Freestyle.** A public OpenAPI 3.1 file describes 88 operations with a stable error code on every failure, and per-VM identity tokens keep the team API key away from end users. No terms of service, product privacy policy, request rate limit or incident history was found, and the only SDK is TypeScript.\n\n**Offscreen.** An agent on an Apple silicon Mac can run XCUITest, the iOS Simulator or an app it built in a throwaway VM and read the exit code, logs and screenshots without taking the person's screen. The project is six days old at v0.0.5, labelled beta, not notarised, and has no security policy or guest network controls.\n\n## Before you call either\n\n### Freestyle\n\n1. Send a `firewall` object on every `POST /v5/vms`. It is required, and a VM with no rules has no outbound internet\n2. Ask the owner to run `freestyle login` in a browser once, then mint a key with `freestyle tokens create --output json`\n3. Do not retry an exec that answers 409 `VM_NON_RESPONSIVE`. The command may already have run\n4. Keep `exec-await` under its 300,000 ms cap and use a PTY session or `x-freestyle-background-after-secs` for longer work\n5. Call the `/v5` paths. The unversioned duplicates in the OpenAPI file are marked deprecated\n\n### Offscreen\n\n1. Read `.offscreen.toml` before running anything and use its `project` key and task names. Don't guess them\n2. Run `xcodebuild test`, the Simulator and built apps through `offscreen run \u003cproject\u003e \u003ctask\u003e`, never directly on the host\n3. Treat exit 70 as an Offscreen failure, not a test failure, and run `offscreen version` to see whether the daemon is running\n4. Ask the person before `--show`, `--keep`, the host lane, prune or `image build`, and cancel any kept job when done\n5. Read screenshots and `.xcresult` bundles from the directory `offscreen artifacts \u003cjob\u003e` prints\n\n## Questions\n\n### Which is better for AI agents, Freestyle or Offscreen?\n\nOffscreen scores 62.9 (B) on agent readiness against Freestyle's 58.5 (C), and leads in 5 of 7 scored categories. Freestyle leads on schema \u0026 documentation and maintenance \u0026 community.\n\n### Can an agent call Freestyle and Offscreen without installing anything?\n\nFreestyle has a hosted endpoint at https://api.freestyle.sh/v5. No hosted endpoint is listed for Offscreen.\n\n### Are Freestyle and Offscreen open source?\n\nNo open-source release is listed for Freestyle. Offscreen is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/freestyle-vs-offscreen.json, and with the fewest tokens: https://www.anchorterminal.com/compare/freestyle-vs-offscreen.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"freestyle\", \"b\": \"offscreen\"}`. From a terminal: `anchor compare freestyle offscreen`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/freestyle.json and https://www.anchorterminal.com/api/v1/tools/offscreen.json\n\n## Other comparisons with Freestyle or Offscreen\n\n- [Agent 37 Cloud vs Offscreen](https://www.anchorterminal.com/compare/agent37-vs-offscreen.md)\n- [Amazon Bedrock AgentCore Code Interpreter vs Freestyle](https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-freestyle.md)\n- [Amazon Bedrock AgentCore Code Interpreter vs Offscreen](https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-offscreen.md)\n- [Blaxel Sandboxes vs Freestyle](https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-freestyle.md)\n- [Blaxel Sandboxes vs Offscreen](https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-offscreen.md)\n- [Cloudflare Sandbox SDK vs Freestyle](https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-freestyle.md)\n- [Cloudflare Sandbox SDK vs Offscreen](https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-offscreen.md)\n- [Daytona vs Freestyle](https://www.anchorterminal.com/compare/daytona-vs-freestyle.md)\n- [Daytona vs Offscreen](https://www.anchorterminal.com/compare/daytona-vs-offscreen.md)\n- [Deno Sandbox vs Freestyle](https://www.anchorterminal.com/compare/deno-sandbox-vs-freestyle.md)\n- [Deno Sandbox vs Offscreen](https://www.anchorterminal.com/compare/deno-sandbox-vs-offscreen.md)\n- [E2B vs Freestyle](https://www.anchorterminal.com/compare/e2b-vs-freestyle.md)\n- [E2B vs Offscreen](https://www.anchorterminal.com/compare/e2b-vs-offscreen.md)\n- [Freestyle vs Microsoft Execution Containers](https://www.anchorterminal.com/compare/freestyle-vs-microsoft-execution-containers.md)\n- [Freestyle vs Modal Sandboxes](https://www.anchorterminal.com/compare/freestyle-vs-modal-sandboxes.md)\n- [Freestyle vs Morph Cloud](https://www.anchorterminal.com/compare/freestyle-vs-morph-cloud.md)\n- [Freestyle vs SPACE](https://www.anchorterminal.com/compare/freestyle-vs-perplexity-space.md)\n- [Freestyle vs Runloop Devboxes](https://www.anchorterminal.com/compare/freestyle-vs-runloop.md)\n- [Freestyle vs Sprites](https://www.anchorterminal.com/compare/freestyle-vs-sprites.md)\n- [Freestyle vs Together Code Sandbox](https://www.anchorterminal.com/compare/freestyle-vs-together-code-sandbox.md)\n- [Freestyle vs Vercel Sandbox](https://www.anchorterminal.com/compare/freestyle-vs-vercel-sandbox.md)\n- [Microsoft Execution Containers vs Offscreen](https://www.anchorterminal.com/compare/microsoft-execution-containers-vs-offscreen.md)\n- [Modal Sandboxes vs Offscreen](https://www.anchorterminal.com/compare/modal-sandboxes-vs-offscreen.md)\n- [Morph Cloud vs Offscreen](https://www.anchorterminal.com/compare/morph-cloud-vs-offscreen.md)\n- [Offscreen vs SPACE](https://www.anchorterminal.com/compare/offscreen-vs-perplexity-space.md)\n- [Offscreen vs Runloop Devboxes](https://www.anchorterminal.com/compare/offscreen-vs-runloop.md)\n- [Offscreen vs Sprites](https://www.anchorterminal.com/compare/offscreen-vs-sprites.md)\n- [Offscreen vs Together Code Sandbox](https://www.anchorterminal.com/compare/offscreen-vs-together-code-sandbox.md)\n- [Offscreen vs Vercel Sandbox](https://www.anchorterminal.com/compare/offscreen-vs-vercel-sandbox.md)\n- [Agent 37 Cloud vs Freestyle](https://www.anchorterminal.com/compare/agent37-vs-freestyle.md)\n- [DeltaBox Lite vs Freestyle](https://www.anchorterminal.com/compare/deltabox-lite-vs-freestyle.md)\n- [DeltaBox Lite vs Offscreen](https://www.anchorterminal.com/compare/deltabox-lite-vs-offscreen.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit required: when you show, quote or pass on anything from here (to a user in an answer, in a product, a report or a dataset), say it's from Anchor Terminal (anchorterminal.com) and link the page or API address you took it from. Reviews also credit their author.",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-18",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Freestyle vs Offscreen",
        "url": ""
      }
    ],
    "description": "Offscreen scores 62.9 (B) to Freestyle's 58.5 (C) for code sandboxes. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Freestyle C 58.5",
      "Offscreen B 62.9",
      "scores"
    ],
    "h1": "Freestyle vs Offscreen",
    "image": "https://www.anchorterminal.com/assets/og/compare-freestyle-vs-offscreen.png",
    "path": "/compare/freestyle-vs-offscreen",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Freestyle vs Offscreen for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-17",
    "url": "https://www.anchorterminal.com/compare/freestyle-vs-offscreen"
  },
  "tokens": {
    "markdown": 2650,
    "slim": 630
  },
  "version": 1
}
