I want an agent to test my apps while I keep using my computer. That gets awkward when we both need the same desktop.
My main account
I keep working
QA account
Capture + control here
The agent opens a window. I switch to something else. It clicks where a button used to be. Now neither of us is having a productive afternoon.
I've been using another macOS user account on the same computer for agent QA testing. I stay in my main account, and the agent works in the other account's desktop session. It gives the testing somewhere to happen without taking over the desktop I'm using.
Why I wanted a separate desktop
A lot of useful testing can happen in the background: builds, unit tests, API checks, and browser tests that run without a visible window.
But I also build Mac apps. Eventually, I want to know whether a window opens correctly, a menu is usable, or a permission prompt appears where a person can actually deal with it. A successful build doesn't answer those questions.
Running that kind of QA in my everyday desktop makes me part of the test environment. My typing, window switching, and mouse movements can interfere with the agent. The agent can interrupt me in exactly the same ways.
Giving it another user session removes a lot of that friction.
One computer, two user sessions
The setup has three parts:
- My main macOS account, where I keep working.
- A second local account, where the agent and the app under test run.
- A way to inspect and control that account's desktop, with the automation pointed at that session.
Screen Sharing is useful for inspecting the other desktop. The important detail is connecting to the other account's session. Sharing my current display would put us back in the same workspace.
Apple describes this distinction in its Remote Desktop documentation: connecting to another account's virtual display lets you open apps without interrupting the person using the logged-in desktop. That's the underlying idea. The exact connection and automation setup still needs to work with the tools you're using.
Shared instructions, separate sessions
I want both accounts' agents to understand the same projects and working rules. I don't want to maintain two copies of that information.
My setup shares selected instructions, project notes, and skills from one canonical folder. The second account can read that context, while my primary account remains the writer. Project files need their own access arrangements; being able to read a note about a repository doesn't grant access to it.
The accounts keep their own agent configuration, sign-ins, sessions, and computer-use permissions. I don't share an entire agent home directory between them.
That gives me consistent instructions without making both accounts write to the same session files or treating one account's permissions as proof that the other is ready.
Primary account
Own configuration
Own sign-ins and sessions
Own computer-use permissions
QA account
Own configuration
Own sign-ins and sessions
Own computer-use permissions
What I still have to check
The second account needs a working desktop session and whatever permissions the test requires. The capture and control tools also need to reach that session. An SSH connection alone doesn't prove the agent can see a window or click a button.
Before relying on a test route, I want it to capture the intended desktop, interact with the app there, and show the result. Otherwise, I could have a very convincing report about the wrong screen.
The accounts also share the same CPU, memory, disk, and network. A heavy build can still slow down my work. And changes to shared files or an app in a shared installation location can affect both accounts.
I use this to separate desktop activity. I don't treat it as a security sandbox or a replacement for testing in my normal account when a feature depends on my actual data, devices, or settings.
Why I'm keeping it
The benefit is being able to keep working while the agent does the clicking, opening, and checking that visible app testing requires.
I still want evidence of what happened: the app state, the action taken, and the result on screen. The separate account gives that work its own space. My main desktop gets to remain useful, and my cursor gets one boss at a time.