Give your AI agentits own cursor.Yours never moves.

YouxPC lets Claude Code, Codex or any MCP agent work your Mac apps. It reads each window as a short numbered list and presses the controls itself, while you keep working. Open source, and it runs on your Mac.

$ curl -fsSL https://raw.githubusercontent.com/Ar5en1c/youxpc/main/install.sh | bash

Under every window there is a list.

Your screen is pixels. Underneath, macOS keeps a description of every button and field. YouxPC hands that to the agent with an id on each control, and presses by id.

Pick a recorded run

what the agent reads

These are real runs from the benchmark, replayed step by step with the calls and answers exactly as recorded. A web page cannot control your Mac, so nothing here is happening live.

Four ideas that make it dependable.

Each demo here is a small imitation of the rule, so you can poke at it. The real behaviour is described in the README.

An id stays with its control

Most tools number things by position. Remove one row and every number after it now means something else. Try it.

Numbered by position

YouxPC

One decision, many actions

Most of a run is the model thinking between calls. pc_do lets one thought carry a whole sum or a whole form.


      

It says what changed

Every action answers with the lines that were added, removed or changed once the screen settles. No second look needed.


        

A name shared by six buttons is refused, not guessed

Ask it to press "Approve" when six rows have one and it stops and lists them, each with its row, instead of pressing the first. Press a row's own id and it goes straight there.

    
                

    Nearly twice as fast as the other desktop tools, on a fraction of the tokens.

    Four tools, the same 17 tasks, three runs each, one model on one Mac. A run counts only if the app or page itself shows the right result, not if the model says it did.

    Every task, with calls and totals

    Totals

    Seconds per task, averaged over three runs

    Bold is the quickest tool that passed every run of that task, whoever it is. A red mark means that tool failed some of its runs. Seven of the seventeen tasks are the harder ones I wrote and prepared YouxPC against; they are tagged.

    Read these with care

    I wrote seven of the seventeen tasks and fixed YouxPC against them by hand before any model ran them. The other tools ran as installed, with no tuning, by someone who had never configured them.

    Cua Driver passed every run, one more than YouxPC. Playwright MCP is as good or better on web pages; it drives its own browser and cannot reach desktop apps. YouxPC's one failed run is shown here, as recorded.

    See the run YouxPC failed

    One model, one Mac, one day. Every run and every failure is in the full write-up, with the command to repeat it.

    What it will not touch.

    Accessibility access is all or nothing at the operating-system level, so the narrowing happens in YouxPC. Pick an app and see what an agent gets back.

    • Blocked appsPassword managers, Keychain Access, System Settings, permission prompts, terminals and the app hosting the agent are refused by default. You can switch to a strict allowlist.
    • A never-press list you setGive it words such as Send, Delete or Pay and any control named with one is refused. It is off until you set it, it guards against accidents, and it is not a security boundary.
    • Terminal only by approvalAn agent can start only the commands you list, with no shell prompt, and its keys go to that program alone.
    • Nothing leaves your MacNo telemetry. Screen text goes only to the agent you connected.
    Choose an app. This replays the policy and a real snapshot; nothing here touches your Mac.
    
            
    
            

    Running in a minute.

    Three steps, no account, no key. It is an ordinary MCP server that runs on your Mac.

    step 1

    Install

    A short script that downloads the release, checks it and puts youxpc in ~/.local/bin. Read it first if you like.

    curl -fsSL https://raw.githubusercontent.com/Ar5en1c/youxpc/main/install.sh | bash
    step 2

    Tell your agent

    It speaks plain MCP over stdio. For Claude Code:

    claude mcp add youxpc -- ~/.local/bin/youxpc mcp
    step 3

    Allow it once

    macOS asks for Accessibility permission for the app your agent runs in. That app is what you are trusting, so choose it deliberately.

    ~/.local/bin/youxpc doctor

    Prefer to build it? git clone https://github.com/Ar5en1c/youxpc.git && cd youxpc && swift build -c release (needs Xcode 26; this is also the way on an Intel Mac).

    Where it stops. macOS only, and terminal sessions use Apple's Terminal.

    Canvas apps, games and custom-drawn interfaces have nothing to list, so they still need the real pointer for a moment.

    Shortcuts with Command or Option bring the app to the front.

    There is no confirmation step before sending, deleting or paying. The never-press list is the only guard, and you have to set it.

    VS Code exposes almost nothing to accessibility, so it is close to unusable here.

    Tested on Chrome, Brave, Calculator, TextEdit and Terminal. Other apps will have rough edges; please report them.

    Try it on one app. Star it if it earns its place.