agent-sh/agent-workspace-linux

View on GitHub ↗

Isolated Linux desktop workspaces for AI agents — a hidden, agent-owned desktop and browser over MCP, so an agent can do GUI and web work without touching your real desktop.

81 ★8 forksRustUpdated 20d ago

What you need to know

Isolated, hidden Linux desktop that an AI agent fully controls over MCP without touching the user's real mouse, keyboard, focus or browser.

Install

sudo apt install xvfb openbox xdotool xauth x11-utils imagemagick xclip bubblewrap pkg-config libxkbcommon-x11-dev
./install.sh
cargo install --git https://github.com/agent-sh/agent-workspace-linux
npm install -g @agent-sh/agent-workspace-linux

Usage

  • agent-workspace-linux workspace start --ack-hidden-workspace --purpose "QA run" to create the hidden workspace
  • agent-workspace-linux viewer to watch it in a floating viewer
  • agent-workspace-linux workspace open-browser to launch workspace-owned Chrome, then browser-navigate / browser-snapshot
  • Register {"mcpServers":{"agent-workspace-linux":{"command":"/home/YOU/.local/bin/agent-workspace-linux","args":["mcp"]}}}

Key features

  • Hidden Xvfb workspace with window listing, screenshots, keyboard/mouse input, clipboard and per-app logs
  • Optional daemon-enforced permission ceiling (network, mounts, app allowlist) via flag or AGENT_WORKSPACE_PERMISSIONS
  • bubblewrap-backed mount and network isolation
  • Workspace-owned browser control over loopback CDP with target discovery and page reading
  • Floating GPUI viewer with live pause, read-only and stop controls plus saveable profiles
  • Bundled skill for low-context, on-demand progressive tool loading (~86 tools)

Best for

Agent GUI/website QA and browser automation in a throwaway, isolated, observable desktop.

Caveats

  • Linux only; viewer validated on X11/Xwayland with native Wayland still maturing
  • Pre-1.0: interfaces and tool schemas can change
  • Single-user trust model: same-uid Unix socket with no cross-user protection by design
  • Mount/network enforcement requires bubblewrap; live viewer control is not the hard permission boundary
Platforms: LinuxClients: Claude Code · Codex
Documentation ↗

Reviewed 2026-08-11

Topics

agentagentsaiai-agentsbrowser-automationclaude-codecodexdesktop-automationlinuxllmmcpmodel-context-protocolrustsandboxskillx11
Stars
81★
Forks
8
Language
Rust
License
MIT
Created
2026-05-23
Last push
2026-08-15