omabox

omabox

Built for Omarchy
omabox.app · an independent community project, not affiliated with or endorsed by Omarchy

Your agents get desktops of their own. Yours stays untouched. omabox gives every AI agent a whole Omarchy desktop, invisible and in parallel, to launch, click, type and screenshot apps and shell plugins in. No windows popping up on your screen, no cursor jumps, no stolen focus or workspace switches, no password or keyring prompts, no notifications or tray icons left behind.

A box is the real thing, not a mock: Omarchy’s own Hyprland config, the Omarchy shell (bar, menu, tray, notifications) and your theme, bar layout and terminal settings, on a private screen and a private session bus. It starts in 3-5 s and uses 400-700 MB, depending on the GPU. Each agent session gets its own box, the way you give each agent a worktree. When you want to look, peek at a box live, or open one as a window and use it yourself.

omabox keeps an agent’s apps off your desktop; it is not a sandbox. To fence the agent itself in, pair it with ai-jail.

You keep coding while an agent starts its own box and tests an app in it: nothing pops up, nothing takes your focus

Watch omabox 0.2.0 in 43 seconds. It was recorded inside omabox: a box played the desktop, with the agent’s boxes inside it, so the real desktop saw no window at all.

What you need

Install

git clone https://github.com/diogochaves/omabox && cd omabox
./install.sh                            # packages (sudo only if some are missing), aquamarine's fix, tools, links
./install.sh --check                    # the same, then start a box, screenshot it, tear it down

install.sh then runs omabox setup, which links ~/.local/bin/omabox, the agent skill (wherever Omarchy puts its own skills: ~/.agents, ~/.claude, ~/.codex, ~/.pi/agent, ~/.hermes) and the bar widget, and asks whether to put the widget in your bar and to turn on the agent guard (or: omarchy plugin enable chaves.omabox, omabox guard on). Update with git pull && ./install.sh; run it after a Hyprland upgrade too: a private aquamarine whose soname Hyprland no longer links is skipped for the system’s (omabox --version says which one boxes use). From a checkout to the package (once Omarchy’s repository has it): omabox setup --remove in the checkout first; if you forget, the package’s omabox setup finds the checkout’s ~/.local/bin/omabox and offers to remove it. After an upgrade the bar runs the old widget until the shell restarts; its panel says so. Boxes already up keep the Hyprland config they started with: omabox reload gives one the new one, or down and up.

Remove ```bash omabox down --all # every box omabox setup --remove # guard and broker off, widget disabled, links removed rm -rf ~/.config/omabox ~/.cache/omabox # settings, and box HOMEs a crash left behind rm -rf ~/.local/share/omabox # saves, if you made any ``` `omabox setup --remove` turns the guard off (if on), the ai-jail broker off (its `~/.ai-jail` lines are yours to delete), disables the bar widget if it is on, and removes the links `setup` made (only those that still point at this omabox) and a per-user aquamarine build; it keeps your settings and saves. Run it before you delete omabox: once it is gone there is no `guard off` left to run. A guard left behind applies nothing in Claude Code and says so; in Codex its values stay, and its hook says which lines of `~/.codex/config.toml` to delete. Then delete the clone (its `build/` holds the aquamarine build). `omabox guard off` leaves a `.bak-