open-computer-use is an open-source Computer Use service wrapped as MCP. Any AI agent or MCP client can use it to run Computer Use on macOS, Linux, and Windows.
This project was inspired by OpenAI's Codex Computer Use. It showed that non-intrusive CUA can be built on top of Accessibility, so I decided to build an open-source version.
I started this repo with my harness template, a template for quickly spinning up AI-first projects. It has been one of our most useful workflows lately, especially for nearly 100% AI-generated projects. I also wrote a post about the methodology behind it.
open-computer-use used as Computer Use in Codex App and Codex CLI, matching the official experience.
gemini_cli_open_computer_use.mp4
Gemini CLI connects to open-computer-use through MCP and runs full Computer Use actions.
Computer.Use.On.Linux.mp4
open-computer-use running on Linux.
npm i -g open-computer-useOn macOS, run it once and grant Accessibility and Screen Recording. Windows and Linux do not need this step.
open-computer-useBefore using it, install it into your agent:
# Install into Codex by writing to ~/.codex/config.toml
open-computer-use install-codex-mcpOr add it to your own client manually:
{
"mcpServers": {
"open-computer-use": {
"command": "open-computer-use",
"args": ["mcp"]
}
}
}Besides the MCP JSON config above, you can also use the built-in commands:
# Install into Codex by writing to ~/.codex/config.toml
open-computer-use install-codex-mcp
# Install as a Codex plugin, mainly for Codex App
open-computer-use install-codex-plugin
# Install into Claude Code by writing to ~/.claude.json
open-computer-use install-claude-mcp
# Install into Gemini CLI for the current project by writing to ./.gemini/settings.json
open-computer-use install-gemini-mcp
# Install into Gemini CLI user config instead
open-computer-use install-gemini-mcp --scope user
# Install into opencode by writing to ~/.config/opencode/opencode.json (or the active config file)
open-computer-use install-opencode-mcp
# Call a single Computer Use tool and print the MCP-style JSON result
open-computer-use call list_apps
open-computer-use call get_app_state --args '{"app":"TextEdit"}'
# Run a sequence in one process so element_index state can be reused
# Sequence runs sleep 1s between successful operations by default
open-computer-use call --calls '[{"tool":"get_app_state","args":{"app":"TextEdit"}},{"tool":"press_key","args":{"app":"TextEdit","key":"Return"}}]'
open-computer-use call --calls-file examples/textedit-overlay-seq.json --sleep 0.5
# Check permissions; onboarding only opens when something is missing
open-computer-use doctor
# Show help
open-computer-use -hCursor Motion is an open-source cursor motion system for macOS, based on public information shared by members of the Software.Inc team. You can download the app from the Releases page.

