Product Thumbnail

offstage

Your computer-use agent gets a Mac account, not your screen

Mac
Open Source
Developer Tools
GitHub
Visit WebsiteSee on Product HuntTwitter ⧉Github ⧉

Hunted byViraat DasViraat Das

offstage gives Claude Code, Codex and opencode a second, logged-in macOS account to work in. Simulators, Xcode UI tests and the app your agent just built open on that account's desktop, so your screen, keyboard and mouse stay yours. Free and open source: https://github.com/viraatdas/offstage

Top comment

Hi Product Hunt! I'm Viraat, and I built offstage.

Every time my coding agent tested the Mac app it had just built, it took over my screen: windows jumping to the front, the mouse moving on its own, a Simulator booting in the middle of whatever I was doing.

offstage gives the agent its own macOS account instead. It's a second user, logged in behind yours with fast user switching, so it has its own window server, framebuffer, and keyboard and mouse stream. A small Swift daemon inside that account launches apps, takes screenshots and posts clicks through CGEvent's per-session tap, so input can't land on your screen. It refuses to send input at all if its session is ever the one on the console.

It also routes everything else your agent runs. Headless commands run in place, headed browsers go to a Linux container with a virtual display, macOS GUI work goes to the second account, and installers are refused outright. It isn't a VM: the helper account takes about 3 GB and there's nothing to boot.

Try it: paste this into your coding agent

Set up offstage for me: add it as an MCP server with the command npx -y --package=@viraatdas/offstage@latest offstage-mcp, run npm i -g @viraatdas/offstage, then tell me to run sudo offstage session setup --create in my terminal and log the new account in once. After that, use offstage for anything that opens a window on my Mac.

Codex and opencode work too; the README has their configs. It's free and MIT licensed, for Macs on Apple Silicon. I'd love to hear what you'd point your agent at first, and where it breaks.

Comment highlights

the refuse-if-console-is-active check is the detail that sells it, most "runs in the background" tools just assume the background stays the background. what happens on the agent's side when that refusal fires though, does the task just fail and the agent reports it couldn't click, or does it sit and retry until you switch away from the console again

Giving the agent its own desktop makes a lot of sense. The bit about refusing input if its account becomes the active session is a thoughtful touch. Congrats on getting this out, Viraat!

About offstage on Product Hunt

“Your computer-use agent gets a Mac account, not your screen”

offstage launched on Product Hunt on October 8th, 2026 and earned 81 upvotes and 7 comments, placing #18 on the daily leaderboard. offstage gives Claude Code, Codex and opencode a second, logged-in macOS account to work in. Simulators, Xcode UI tests and the app your agent just built open on that account's desktop, so your screen, keyboard and mouse stay yours. Free and open source: https://github.com/viraatdas/offstage

offstage was featured in Mac (103.8k followers), Open Source (68.9k followers), Developer Tools (521.3k followers) and GitHub (41.4k followers) on Product Hunt. Together, these topics include over 147.7k products, making this a competitive space to launch in.

Who hunted offstage?

offstage was hunted by Viraat Das. A “hunter” on Product Hunt is the community member who submits a product to the platform — uploading the images, the link, and tagging the makers behind it. Hunters typically write the first comment explaining why a product is worth attention, and their followers are notified the moment they post. Around 79% of featured launches on Product Hunt are self-hunted by their makers, but a well-known hunter still acts as a signal of quality to the rest of the community. See the full all-time top hunters leaderboard to discover who is shaping the Product Hunt ecosystem.

Want to see how offstage stacked up against nearby launches in real time? Check out the live launch dashboard for upvote speed charts, proximity comparisons, and more analytics.