Open source · active pre-1.0
Give your coding agent a cross-platform test lab.
Build on one machine. Let the agent launch, inspect, and verify the real application across Windows, macOS, and Linux VMs through one compact, target-native interface.
- Windows · macOS · Linux
- Native UI semantics
- Local or remote
- MIT licensed
$ mc targets
windows ready windows.uia
macos ready macos.ax
linux ready linux.atspi
$ mc --target windows desktop snapshot \
--query Save --projection compact
route windows.uia
delivery confirmed
effect confirmed
host impact noneOne workflow, native controls
The interface is shared. The platform stays real.
Machine Control normalizes target selection, observations, actions, and results without pretending that every operating system works the same way.
The development loop
From a code change to evidence on every target.
An agent or CI system chooses the work. Machine Control provides the safe, repeatable boundary to each configured test machine.
- 01Discover
List eligible targets and inspect their real capabilities.
- 02Claim
Reserve an exact VM or acquire an isolated workspace.
- 03Deploy
Build, install, launch, and prepare the application.
- 04Exercise
Observe compact semantics and act through native controls.
- 05Verify
Separate action delivery from independently observed effect.
Context is part of the system
Send useful state, not an endless desktop stream.
Compact semantic projections keep stable roles, labels, values, bounds, and actions while filtering provider noise. Content digests let an unchanged observation return without repeating the element tree.
These are measured response bytes from current Windows fixtures, not a claim about exact model-token savings. A cross-provider token benchmark is planned.
Read the measurements →What it solves
A machine layer for cross-platform application work.
Change the target, not the agent workflow.
Applications, windows, semantic snapshots, captures, workspaces, and results share a stable ergonomic direction across platforms.
Keep the operating system’s strongest controls.
UIA, Accessibility, AT-SPI, XCTest, ADB, and platform services remain real providers rather than disappearing behind pixels.
Test the target without taking over the host.
Ordinary operations execute inside the target. Hypervisor windows and host input stay explicit recovery routes.
Know whether the application actually changed.
Acceptance, delivery, effect, evidence, provider route, and uncertainty are reported separately.
Built under real application pressure
Powering cross-platform development at Graehl Arts.
Machine Control is used to develop and exercise applications across desktop and device targets—not only synthetic automation fixtures.
Visit Graehl Arts →Current evidence
Broad destination. Honest status.
The common desktop contract is exercised today. Device families retain explicit native operations while broader facade coverage is still growing.
“Accepted” means exercised against the repository’s conformance and real-application workflows. It is not a production support SLA.Full platform status →
Field notes
Why app-development agents need a machine layer.
The first project note explains why screenshots, native automation, VM lifecycle, and effect verification belong in one development loop—but not one lowest-common-denominator implementation.
Read the note →