Anode
Windows desktop automation for AI agents. MCP server and CLI with a background child session, screenshots, separate mouse/keyboard focus and app testing.
Install / Use
claude mcp add skulitom -- npx -y github:skulitom/AnodeIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AutomationSupported Platforms
Our assessment of Anode
Anode scores 83/100 on our quality scale, 2194th of 2,870 Automation skills we index.
Its MCP Server is 20 KB long, well organised into 17 sections with 7 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 2 days ago, so Anode is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Anode compared with similar skills
All 4 of these similar skills score higher than Anode; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| Anode (this skill)by skulitom | 83 | 3 | 2d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 106.0k | 4d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.2k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.7k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 90.3k | today | MCP Server |
Frequently asked questions
- How do I install Anode?
- Run
claude mcp add skulitom -- npx -y github:skulitom/Anode. The install tabs above show the steps for each supported agent. - Which AI agents does Anode work with?
- It is written for Claude Code, Claude Desktop and OpenAI Codex, as a MCP Server file. Other agents that read the same format can often use it too.
- Is Anode safe to use?
- It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is Anode still maintained?
- The repository was last updated 2 days ago, so Anode is actively maintained.
Skill content
View source on GitHub<img src="assets/anode.svg" width="36" height="36" alt=""> Anode — a background Windows desktop for AI agents
<!-- mcp-name: io.github.skulitom/anode -->Computer-use agents that drive your Windows desktop take over your mouse and keyboard; Anode gives them their own desktop instead. Anode is a Windows MCP server and CLI for computer use, GUI automation and UI testing. Claude Code, Codex or another local (stdio) MCP client gets a hidden Windows session with its own screen, pointer and keyboard focus, called the seat. The agent drives native apps and headed browsers and takes screenshots while you keep working in yours.

<sub>Recorded inside the seat with Anode 0.11.0, from real MCP tool calls. Idle time between calls is cut, and the nine clicks, which took 0.4 s, are shown four times slower.</sub>
- Who it's for: developers on Windows who let an AI agent test their desktop apps, browser pages or Android apps, or do other work in real Windows programs, while they keep using the same PC; and anyone running several agents that take turns on one shared background desktop.
- Use it when an agent has to click, type, read controls and take screenshots in native apps or a headed browser, and it must not take over your mouse, keyboard or screen.
- Don't use it when you are on Windows Home or macOS, when you need a security sandbox (the seat runs as your user, with your files and network), or when the task needs no desktop at all: an API, a shell or a headless browser test is simpler. When to use which compares the alternatives.
- Compared with BgDesk, Windows-MCP, Desktop Touch MCP, windows-computer-use-mcp and Terminator, on whether the agent moves your real pointer, with Anode's measured results: Windows desktop automation for AI agents, compared (checked 24 October 2026).
- Using Windows-MCP? Since 0.8.8, its control gate pauses the agent while you use your own mouse or keyboard. Run it inside the seat, so your input stays in your own session: Windows-MCP in the background (tested 22 October 2026 with nobody at the PC: 13 tool calls, no pause, the PC's pointer never moved; not yet measured while someone works).
Install in 3 commands
Before you start: Anode needs Windows 10/11 Pro, Enterprise or Education (not Home) on x64, and
administrator rights once, for anode setup. On a managed work PC, a policy that blocks unsigned
programs or keeps Remote Desktop off will stop it; see exactly what setup changes.
In PowerShell, run the first line, then open a new terminal for the next two:
iwr -UseBasicParsing https://github.com/skulitom/Anode/releases/latest/download/install.ps1 -OutFile install.ps1; powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1
anode setup | Out-Host # in a NEW terminal: one administrator prompt, once per machine
anode configure | Out-Host # registers Anode with the Claude Code and/or Codex CLIs on your PATH
anode setup can restart Remote Desktop Services, which disconnects any Remote Desktop session to
this PC, so run it at the machine itself. If you sign in to Windows only with a PIN or Windows Hello,
the seat needs your Windows password to sign in, and Windows may ask for it again when you create
another seat: see sign-in.
Restart your agent session and ask it:
Use Anode to open Notepad in the background seat, type "Hello from Anode", and show me a screenshot. Keep the viewer hidden and leave my main desktop available.
See Install for custom locations and offline installs, or other ways to install for Scoop and the Claude Code plugin.
Good to know: the seat is a Windows child session running as your user: desktop isolation, not a security sandbox.
Ctrl+Alt+Shift+K stops it (if another program holds that shortcut, use Stop seat in the viewer or
anode kill). Unsigned builds may trigger SmartScreen. No telemetry.
What can you do with it?
- Develop and test apps: run builds and local servers, collect command output, inspect native controls, test browser forms and capture screenshots in the background desktop.
- Give an agent a desktop: 41 MCP tools for guidance, screenshots, audio, mouse/keyboard input, accessibility, UI waits, display changes, Android emulators, application launches and cancellable command jobs.
- Watch or stop it:
anode showopens the viewer andanode hidecloses it. Ctrl+Alt+Shift+K oranode killsigns the seat out and closes every application in it, including unsaved work. - Automate games: optional virtual Xbox 360 controller support through ViGEmBus, kept inside the seat with HidHide so you can play your own games meanwhile.
- Coordinate several agents: exclusive desktop leases and command jobs scoped to each agent. Agents share one seat and take turns; see multiple agents.
- Listen and play sound: with
--audio, set when Anode starts, agents can record what plays in the seat, such as a browser or a game, and play short 16-bit PCM WAV clips. This also sends seat sound to your speakers. See audio. - Test other displays: agents change the seat's resolution and Windows scaling while its apps keep running, from 640x480 to 8192x8192, portrait included, at Windows' scaling steps from 100% to 500%; Anode restores the startup display when they finish and reports what Windows actually applied. See test other displays.
- Test Android apps and use web consoles: agents boot your AVDs read-only on an emulator in the seat, drive them through adb, open Android Studio there on its own profile, and open web consoles such as Google Play Console in a seat browser profile you sign in to (sites may ask you to sign in again). See Android apps and web consoles.
In use: haltere, the author's research project in which a fruit-fly
connectome flies an FPV drone in a racing simulator, runs the game, its capture and its virtual gamepad in Anode's
seat. With HidHide installed, Anode keeps the gamepad inside the seat (haltere checks anode gamepad state), so
flights continue while the user plays on the main desktop. See
haltere's game setup.
The seat is a Windows child session: a second session for your own account, created by Windows' built-in loopback Remote Desktop feature. It has its own pointer and focus; adding a virtual monitor to your current session does not. The seat runs as your Windows user and shares your files, account and network. This is desktop isolation, not a security sandbox. Virtual gamepads stay in the seat only with HidHide installed. See security and isolation.
Install
Requires: Windows 10/11 Pro, Enterprise or Education, or Windows Server with a Remote Desktop host. The release targets x64; ARM64 is not validated. Windows Home is unsupported. Release builds include .NET; you do not need an SDK or runtime. ViGEmBus is optional.
Run in an ordinary PowerShell terminal:
Invoke-WebRequest -UseBasicParsing https://github.com/skulitom/Anode/releases/latest/download/install.ps1 -OutFile install.ps1
# You can inspect install.ps1 before running it.
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1
The installer verifies the release archive's SHA-256 checksum, installs to
%LOCALAPPDATA%\Programs\Anode, adds that folder to your user PATH and adds Anode to the
Start menu, where opening it shows the viewer, and to Installed apps, where you can uninstall it.
Open a new terminal afterward. Machine setup and agent registration are separate steps below.
Prefer portable? Download the ZIP,
extract the entire folder, and use .\anode.exe in place of anode.
Builds are currently unsigned; Windows may show a SmartScreen warning.
Custom locations, offline installation, updates and removal →
Other ways to install
Both still need the one-time anode setup below; plugin users skip anode configure for
Claude Code.
- Scoop:
scoop bucket add anode https://github.com/skulitom/Anode, thenscoop install anode/anode. Runanode quitand close MCP clients using Anode beforescoop update anode. - Claude Code plugin: with
anodealready on your PATH (the installer above or Scoop), run/plugin marketplace add skulitom/Anode, then/plugin install anode@anodeinside Claude Code. It registers the MCP server and theanode-desktopskill but does not installanode.exe. Use it oranode configure claude, not both; see Claude Code.
Set up and connect
anode doctor | Out-Host # reports prerequisites; no changes
anode setup | Out-Host # one administrator prompt, once per machine
anode configure | Out-Host # detects installed Codex / Claude Code CLIs
setup enables Remote Desktop and child sessions. It adds no firewall rules, but can restart
Remote Desktop Services and disconnect existing RDP sessions.
See exactly what changes.
configure backs up client settings, registers Anode by absolute path, sets a 420-second tool
timeout, and installs the discoverable anode-desktop skill. Use anode configure codex or
anode configure claude to choose one client, or add --no-skill for MCP registration alone.
Installed the Claude Code plugin? It already registers Anode and the skill there, so skip
anode configure, or run anode configure codex to add Codex only.
Restart your agent session to load the tools. Claude Desktop:
add Anode to its config.
VS Code, Cursor and other clients: Connecting agents.
Try it
Start and check the background seat:
anode start --hidden | Out-Host
anode capabilities | Out-Host
If Windows Hello/PIN sign-in prevents automatic login, choose Sign in… from the Anode tray
icon (or the viewer's header) to request the Windows credential dialog. When starting Anode,
you can also use anode start --sign-in. See sign-in troubleshooting.
Then ask your agent:
Use Anode to open Notepad in the background seat, type "Hello from Anode", and show me a screenshot. Keep the viewer hidden and leave my main desktop available.
Or work through the CLI:
$env:ANODE_AGENT_ID = 'my-cli-task'
$lease = anode lease acquire | Out-String | ConvertFrom-Json
if ($LASTEXITCODE -ne 0) { throw 'Desktop acquisition failed.' }
$env:ANODE_LEASE_TOKEN = $lease.leaseToken
anode exec --cwd C:\project --wait 1000 -- dotnet build | Out-Host
anode windows | Out-Host
anode shot seat.png | Out-Host
anode lease release | Out-Host
PowerShell users: piping to Out-Host (or Out-String) makes PowerShell wait for this GUI
executable and
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
106.0kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
78.2kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.7kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
90.3k🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
