paint051225.mp4
Automate desktop apps like a browser. AI-native GUI automation for Windows. Fast, reliable, agent-ready.
Skip the boilerplate. This is the fastest way to feel the magic.
pip install maturin
cd bindings/python
maturin develop
import terminator
desktop = terminator.Desktop()
desktop.open_application('calc')
seven = desktop.locator('name:Seven')
seven.click()
cd bindings/nodejs
npm install
npm run build
const { Desktop } = require('../bindings/nodejs');
const desktop = new Desktop();
await client.openApplication('notepad')
await client.locator('name:Edit').typeText('hello world')
Terminator is the Playwright-style SDK for automating Windows GUI apps.
- 🪟 Built for Windows, works on macOS (partial)
- 🧠 Designed for AI agents, not humans
- ⚡ Uses OS-level accessibility (not vision)
- 🧩 TS, Python, and Rust support
- 📈 80ms UI scans, 10000x speedup via compiled workflows
The benchmark test illustrates how fast Terminator can query the UI. It finds all edit elements in about 80 ms, showcasing a big speed advantage over vision-based tools.
This form-filling app can read & fill 1000 inputs forms as soon as you see them in <1s end-to-end using Gemini.
Check out Terminator in action:
- 📹 Desktop Copilot that autocompletes your work in real time
- 📹 AI Agent that process 100 insurance claims in 5 minutes
- 📹 Technical Overview Video
- 📹 Technical Overview: PDF to Windows Legacy App Form
For detailed information on features, installation, usage, and the API, please visit the Official Documentation.
- Vercel AI SDK Example: Learn how to use Terminator with AI in the PDF-to-Form example.
- MCP: Discover how to Vibe Work using MCP.
- Windows: uiautomation-rs
- macOS: Native macOS Accessibility API (exploring cidre as an alternative)
- Windows:
- Accessibility Insights for Windows
- FlaUInspect: A recommended alternative for inspecting UI Automation properties on Windows.
- Install:
choco install flauinspect
or download from FlaUI/FlaUInspect releases. - Usage: Launch
FlaUInspect.exe
, hover or click on elements to see properties likeAutomationId
,Name
, andControlType
. This is great for debugging selectors.
- Install:
contributions are welcome! please feel free to submit issues and pull requests. many parts are experimental, and help is appreciated. join our discord to discuss.
if you want desktop automation at scale for your business, let's talk