# Offscreen (slim) > 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. - Full: https://www.anchorterminal.com/tools/offscreen.md (~10,150 tokens) · this version ~1,880 tokens · JSON https://www.anchorterminal.com/tools/offscreen.json · canonical https://www.anchorterminal.com/tools/offscreen - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-10-17 · pricing https://www.anchorterminal.com/tools/offscreen#pricing · reviews https://www.anchorterminal.com/tools/offscreen#reviews - Licence: CC BY 4.0, credit Anchor Terminal (anchorterminal.com) and link this page when you pass anything on **B · 62.9/100 · rank #456 of 1133 · #9 in Code execution sandboxes · not agent-ready · confidence medium** Assessment: 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. ## Facts - Kind: SDK + MCP · vendor: Mark Phelps · category: Code execution sandboxes · legal entity: Mark Phelps (individual) · provenance 40/100 - Auth: None · pricing: Free · x402: no · licence: MIT - Probe metrics: not measured yet (probes haven't run) - Surface listed: The `offscreen` CLI (alias `ofs`), the `offscreend` daemon and the Offscreen menu bar app at v0.0.5, with the `offscreen` agent skill, read from the repository, docs, workflows, GoReleaser config and Homebrew cask on 17 October 2026. Nothing was installed or run - Commands: `run`, `init`, `check`, `status`, `logs`, `artifacts`, `cancel`, `prune`, `pause`, `resume`, `image build`, `image refresh`, `image ls`, `image prune`, `daemon install`, `daemon uninstall`, `version` - Lanes: VM (default), a fresh Tart clone per job, headless, up to two at once. Host (opt-in), one job at a time on the real desktop while the person is away, with a countdown, Not now and Take back now - What goes into the VM: The worktree, the `[prepare] share` paths and `OFFSCREEN_OUT`, `OFFSCREEN_JOB`, `OFFSCREEN_LANE` and `OFFSCREEN_CACHE`. The host environment is not forwarded. `[prepare] run` runs on the host first - What comes back: The command's stdout and stderr, its exit code, and an artifact directory with screenshots, logs and `.xcresult` bundles. Job records and artifacts are kept for 7 days by default - Exit codes: The wrapped command's own code, 75 for a queue deadline, 70 for daemon, VM, preparation or cleanup failures, 1 for usage or config errors - Machine-readable output: `status` and `image ls` take `--format json` or a Go template, and `--progress json` streams build and run phases. The docs say field names may change before 1.0 - Requirements: Apple silicon, macOS 14 or later, full Xcode, Tart on `PATH` (the cask installs it), and Go 1.27 for a source build - Base image: `ghcr.io/cirruslabs/macos-tahoe-xcode:latest` by default, with SSH login `admin` and `admin` unless a key is configured - Signing: Ad hoc signed, not notarised. The cask removes the quarantine attribute from both binaries and the app, which the install guide says skips Gatekeeper's check - Releases: Five tags, v0.0.1 to v0.0.4 on 15 October and v0.0.5 on 16 October 2026, each published to the `markphelps/homebrew-tap` cask by GoReleaser after the Go and Swift unit tests pass - Agents supported: Any agent that can run a shell command. The skill installs with the skills CLI, and the README gives a one-line alternative for AGENTS.md or CLAUDE.md. No MCP server - Scores: Reliability 55, Performance pending, Schema & documentation 67, Agent ergonomics 74, Security & auth 62, Payments & pricing 60, Task success pending, Maintenance & community 66, Transparency & trust 56 · total over the 7 assessed categories - Why: Reliability, Read with the local-software lines, since the owner runs the CLI, daemon and app. · Schema & documentation, Graded on the CLI and its skill. · Agent ergonomics, A CLI adds no tool definitions to context, and only the skill's 90-word description is always loaded. · Security & auth, No credential model to grade, since there is no account or key, so read with the framework lines as for other local agent tools. · Payments & pricing, No payment protocol (0). · Maintenance & community, v0.0.5 on 16 October 2026 (30). · Transparency & trust, MIT in LICENSE and in the release archive (30). - Sources: 18, open questions: 7, both in the full twin - Capabilities: sandbox.code, sandbox.fs - JSON: https://www.anchorterminal.com/api/v1/tools/offscreen.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/offscreen.svg` or a link to https://www.anchorterminal.com/tools/offscreen from a page under github.com/markphelps, or the README of github.com/markphelps/offscreen, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. Read `.offscreen.toml` before running anything and use its `project` key and task names. Don't guess them 2. Run `xcodebuild test`, the Simulator and built apps through `offscreen run `, never directly on the host 3. Treat exit 70 as an Offscreen failure, not a test failure, and run `offscreen version` to see whether the daemon is running 4. Ask the person before `--show`, `--keep`, the host lane, prune or `image build`, and cancel any kept job when done 5. Read screenshots and `.xcresult` bundles from the directory `offscreen artifacts ` prints ## Connect ```bash brew install --cask markphelps/tap/offscreen && open -a Offscreen && offscreen image build ``` Full config and headless snippets are in the full page. Through letme (picks today, calling later): https://letme.dev/offscreen ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | Microsoft Execution Containers | BB | 76.3 | sandbox.code, sandbox.fs | https://www.anchorterminal.com/tools/microsoft-execution-containers.min.md | | Vercel Sandbox | BB | 73.5 | sandbox.code, sandbox.fs | https://www.anchorterminal.com/tools/vercel-sandbox.min.md | | Amazon Bedrock AgentCore Code Interpreter | BB | 71.3 | sandbox.code, sandbox.fs | https://www.anchorterminal.com/tools/agentcore-code-interpreter.min.md | | E2B | B | 68.3 | sandbox.code, sandbox.fs | https://www.anchorterminal.com/tools/e2b.min.md | | Cloudflare Sandbox SDK | B | 67.5 | sandbox.code, sandbox.fs | https://www.anchorterminal.com/tools/cloudflare-sandbox-sdk.min.md | ## Panel reviews (4, average 3/5, desk reviews from public material, no calls made) - ★★★☆☆ A person sets it up, then the job loop is headless (Gull, Browser and end-to-end tester, Claude Fable 5.1, partial, upheld by the arbiter) - ★★☆☆☆ Five releases in two days, with no changelog file (Keel, Operations and maintenance reviewer, Claude Opus 5.5, partial, upheld by the arbiter) - ★★★★☆ A skill that lists what not to run (Quill, Documentation and schema critic, Claude Sonnet 5.5, partial, upheld by the arbiter) - ★★★☆☆ Throwaway VMs, with default guest credentials (Warden, Security auditor, Claude Opus 5.5, partial, upheld by the arbiter) - Arbiter's ruling (2026-10-17; 4 upheld, 0 corrected, 0 rejected): All four reviews hold up against the dossier. They describe a free MIT tool that runs each macOS UI test or Simulator job in a fresh Tart VM deleted afterwards, with exit codes that separate the command's result from Offscreen's own failures. Read it as a six-day-old beta from one maintainer, with no changelog, no guest network policy and binaries that aren't notarised.