---
slug: "agent-desktop"
name: "agent-desktop"
effect: "Gives an agent a CLI that reads and operates macOS apps through their accessibility trees"
category: "browser-agent"
tier: "rising"
url: "https://github.com/lahfir/agent-desktop"
github: "lahfir/agent-desktop"
pricing: "open-source"
license: "Apache-2.0"
tags: ["computer-use", "accessibility", "macos", "rust", "cli"]
platforms: ["macos"]
install_kind: "npm"
date_added: "2026-10-15"
rank: 36
rising_score: 27
stars: 1795
star_velocity: 7.6
velocity_basis: "since creation"
created_at: "2026-02-19T18:00:49Z"
pushed_at: "2026-10-14T18:50:13Z"
signals_status: "ok"
signals_fetched_at: "2026-10-15T05:02:32.219Z"
page: "https://agenttooldrop.com/tools/agent-desktop"
---

# agent-desktop

Gives an agent a CLI that reads and operates macOS apps through their accessibility trees

Category: Browser and computer use. Tier: new and rising, rank 36 by new and rising score (27 of 100). Pricing: Open source. License: Apache-2.0.

Platforms: macos.

## Why you would want it

agent-desktop is a Rust CLI that snapshots an app's accessibility tree into compact element references, which the agent then uses to click, type, scroll and manage windows. A skeleton mode returns a shallow overview of dense apps such as Slack and lets the agent drill into one region, and commands return structured JSON with error codes and recovery hints. Sessions record traces that export to a single HTML viewer, and `launch --cdp` opens a DevTools port on Chromium-based apps so Playwright or Puppeteer can drive the web contents.

## Best for

- Agent control of native Mac apps
- Compact UI snapshots of dense apps
- Calling from Python, Swift or Node through its C library

## Use it when

You want a shell-driven agent to operate Mac apps by element reference instead of guessing coordinates from screenshots.

## Skip it if

You are on Windows or Linux, which the README lists as planned. It needs macOS Accessibility permission, plus Screen Recording for screenshots, and can click, type and use the clipboard in any app it is pointed at.

## Install

Install with npm:

```sh
npm install -g agent-desktop        # downloads prebuilt binary automatically
```

Source: https://github.com/lahfir/agent-desktop#installation

## Live signals

Fetched 2026-10-15T05:02:32.219Z (status: ok).

- Repository: lahfir/agent-desktop
- Repository created: 2026-02-19
- Stars: 1,795 (GitHub's count; it cannot be authenticated)
- Stars per day, since repo creation: 7.6 (an average over the repo's life, not a growth rate)
- Forks: 130
- Open issues and PRs: 6
- License (GitHub): Apache-2.0
- Last push: 2026-10-14
- Latest release: v0.9.4 (2026-09-23)

## Links

- Website: https://github.com/lahfir/agent-desktop
- GitHub: https://github.com/lahfir/agent-desktop
- Install instructions verified at: https://github.com/lahfir/agent-desktop#installation
- Source for this entry: https://github.com/lahfir/agent-desktop#readme
- AgentToolDrop page: https://agenttooldrop.com/tools/agent-desktop
- Full catalog (JSON): https://agenttooldrop.com/tools.json
