Authorization notice. macOS Harness is dual-use. Only use it on software, sites and systems you own or have explicit permission to test.
Credentials. Text the agent types passes through a shell command, so do not give it passwords you cannot rotate.
Who it is forAn operations or admin worker who enters the same values into a desktop app every week and has no API to use.
The problemRe-entering the same values by hand in a desktop app takes time and invites typing mistakes.
The outcomeThe agent sets each named field to its value and checks the window afterward, so the worker only reviews the result.
What you need first
- A Mac running macOS, since the project is macOS only
- Python 3.12 and uv, to install macOS Harness
- Accessibility and Screen Recording permissions, which every call needs
- A coding agent CLI such as Claude Code or Codex to run the commands
Steps
- Install macOS Harness with uv using Python 3.12, then run
macos-harness install --agent claudeor your agent's name. (inferred, check the README) - Run
macos-harness doctorand confirm the permissions are granted. - Run
macos-harness get_app_state --app "TextEdit"and note the element number of each field. - Run
macos-harness set_value --app "TextEdit" --element_index 7 --value "report.txt"for each field. - Run
macos-harness get_app_state --app "TextEdit"again and check that each field shows the new value.
Prompt for your agent
Using the macos-harness repo at https://github.com/browser-use/macos-harness, read the window of <app name> with `macos-harness get_app_state --app <app name>` and set each field listed in <values file> with `macos-harness set_value`. Verify by reading the window again and reporting every field that does not match its expected value.
Caveat. By default the agent can drive any app except its own host and system password sheets, so set `ask_before_first_use = true` in policy.toml before letting it fill a real form.
Get 5 new use cases every morning. Free, one short email, unsubscribe anytime.
Get them freeShare: X LinkedIn Hacker News Email Copy link
Disclaimer
Deduped lists open-source repositories that belong to other people. We do not own, maintain, audit, or vouch for any of them, and a repo appearing here is not an endorsement or a safety check. The use cases, steps, and prompts are written by AI and may be incomplete, outdated, or just wrong. Where a use case is marked "Seen in the wild", we link to public posts where someone described something similar, but we have not verified those posts and the use case itself is still our AI's own write-up. Use all of this at your own risk. Only run code, commands, or agents on systems and accounts you are authorized to use, and read the code and every command before you run it, especially anything that touches credentials, files, or the network. Nothing here is professional, security, legal, or financial advice. All trademarks and project names belong to their respective owners, and their use here does not imply affiliation. Content is provided as is, without warranties of any kind. Found a mistake, a safety problem, or something you want removed? Email [email protected] and we will look at it promptly. Full disclaimer page