#350350th of 455 in Skills, plugins and prompts
macos-harness
CLI that lets coding agents read and control macOS apps in the background
- Stars
- 1k
- License
- MIT
- Last commit
- Oct 2026
- Last release
- Oct 2026
- Language
- Python
535 on 19 Aug 20261,013 on 11 Nov 2026
From GitHub's daily star counts.
Checked on GitHub.
Overview
macos-harness gives a coding agent eleven shell commands (get_app_state, click, type_text, press_key, set_value, scroll, drag, paste and others) to operate any macOS app. It reads a window's accessibility tree as numbered text plus a screenshot, then acts through accessibility actions or events sent to the app's process, so the real pointer and front app are not disturbed. It installs a skill for Claude Code, Codex, Pi or OpenCode.
Who it is for: Developers who want coding agents to drive native Mac apps
Strengths
- Same eleven commands work for any app; no per-app tools
- Acts in the background without moving the pointer or changing the front app
- Repeat reads print only what changed, keeping agent context small
- Optional policy.toml: ask before first use per app, blocked_urls, strict mode
Weaknesses
- macOS only and labelled experimental
- Needs Accessibility and Screen Recording permissions for every call
- Anonymous telemetry is on by default; opt out with a command
- No stop button; headless agents must be stopped by killing the process
What it needs
- Needs macOS, uv, Python 3.12, Accessibility permission, Screen Recording permission
- Models: Claude Code, Codex, Pi, OpenCode
What changed
From the release notes. No flag means the note does not say so, not that the upgrade is safe.
Also in Skills, plugins and prompts
See all 455| Rank | Project | Score |
|---|---|---|
| 1 | claude-memPersistent cross-session memory plugin for Claude Code and other coding agents | 97 out of 100 |
| 2 | impeccableDesign skill with 24 slash commands for AI coding agents' frontend output | 97 out of 100 |
| 3 | gstackMarkdown slash-command skills that give Claude Code planning, review, QA and ship roles | 96 out of 100 |
| #4 | rufloAgent harness adding swarms, memory and hooks to Claude Code and Codex | 96 out of 100 |
| #5 | cavemanShortens coding-agent replies and compresses tool output before the model reads it | 95 out of 100 |