AppleScript had 40 years. Windows had nothing. Until now.

Your language for automation.

WinScript-lang. The open scripting language for Windows that bridges the gap between AI agents and application APIs.

Parse, resolve, dispatch, and execute Windows automation the way humans and agents think: readable, structured, and API aware.

Grammar-firstOpen dictionariesMCP ready
A stylized WinScript terminal running a tell Chrome automation sequence.
Chrome
VS Code
Excel
Slack
Every script executes a system

Readable syntax on the surface. Structured runtime underneath.

The language looks natural, but each command resolves through dictionaries, dispatchers, and backends designed for real Windows automation.

WinScript
tell application "Chrome"
    open "https://github.com"
    wait until loaded
    click button "Sign in"
    set auth_state to "awaiting_credentials"
    return auth_state
end tell
.wsdict mapping

Human commands, backend methods.

Open dictionaries turn natural scripting into concrete calls against application-specific backends.

openCDP.Page.navigate
click buttonCDP.DOM.click
wait until loadedCDP.Page.lifecycleEvent
.wsdict
app: Chrome
backend: cdp

commands:
  open:
    mapsTo: CDP.Page.navigate
    args:
      url: string

  click button:
    mapsTo: CDP.DOM.click
    target:
      role: button
AI

MCP Ready

WinScript exposes discrete tools for validation, capability discovery, command introspection, and execution, which gives Claude-class agents a safer way to automate Windows.

ValidateInspectRun
Automate the way you think

Choose the surface, the logic, or the agent path.

The language is designed so a human can describe a workflow plainly and an agent can still reason about the execution path underneath.

By app

Target the surface you actually use.

Move between Chrome, VS Code, Excel, Slack, and future Windows targets with a dictionary-driven model instead of brittle screen coordinates.

ChromeVS CodeExcelSlack
By logic

Write intent, branches, and recovery in plain language.

Use tell blocks, variables, waits, and try/catch structures to express the flow of automation the same way you would describe it to a teammate.

01try
02open dashboard
03if contains error
04catch
05return status
By AI

Give agents a language that maps to real APIs.

WinScript exposes structured MCP tools so agents can validate, inspect, and execute scripts against known application capabilities.

Promptsignal
Generatesignal
Validatesignal
RunMCP tool
Know what you’re building

Five core constructs. One brutally clear language surface.

Start with the small set of primitives that make WinScript readable for people and executable for automation systems.

tell
tell application "Chrome"
Enters the context of an application and scopes the actions that follow.
set
set url to "https://example.com"
Captures state in readable variables that can be reused later in the script.
return
return auth_state
Emits a final value back to the caller or calling agent.
wait
wait until loaded
Coordinates timing without forcing users into fixed sleeps or brittle sequencing.
try/catch
try ... catch err
Makes automation resilient by expressing fallback behavior alongside the happy path.
Documentation

Know the runtime, not just the pitch.

The docs route covers the architecture pipeline, MCP tools, language primitives, `.wsdict` format, and the testing baseline behind the project.

  • Grammar, AST, resolver, dispatcher, and backend flow
  • Agent-facing MCP tools and how they fit into execution
  • Language primitives, dictionaries, and benchmark snapshots
Benchmarks

Built for serious automation paths.

The current shape of the project already points to a language runtime rather than a fragile browser hack.

Tests
130
Modules
10
Parsing
Sub-ms