<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/expanded-ui-automation-js-ts-bindings-and-more-b48nyggld" -->

---
title: expanded UI automation, JS/TS bindings, and more | daily.dev
description: Windows App Development CLI v0.5.0 ships with a significantly expanded UI automation toolkit, adding screen recording, touch/pen/keyboard input injection,...
canonical: https://daily.dev/posts/expanded-ui-automation-js-ts-bindings-and-more-b48nyggld
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: expanded UI automation, JS/TS bindings, and more | daily.dev
og:description: Windows App Development CLI v0.5.0 ships with a significantly expanded UI automation toolkit, adding screen recording, touch/pen/keyboard input injection,...
og:url: https://daily.dev/posts/expanded-ui-automation-js-ts-bindings-and-more-b48nyggld
og:image: https://api.daily.dev/og/posts/b48NygGlD.png
og:image:alt: expanded UI automation, JS/TS bindings, and more
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# expanded UI automation, JS/TS bindings, and more

**[DevBlogs](https://daily.dev/sources/devblogs)** · 5 min read · 2 upvotes · 0 comments

## Summary

Windows App Development CLI v0.5.0 ships with a significantly expanded UI automation toolkit, adding screen recording, touch/pen/keyboard input injection, hover, drag, and scroll commands. Electron and Node.js developers can now call Windows Runtime (WinRT) APIs directly from JavaScript or TypeScript without native addons or build steps — bindings are auto-generated from .winmd metadata and accessed via the `#winapp/bindings` subpath. The release also improves WinUI 3 crash diagnostics by automatically running a stowed-exception triage pass on crashes, surfacing the originating HRESULT, XAML dispatch stack, and the managed frame that threw. Additional changes include a Claude Code plugin, a VS Code extension with AppxManifest editor support, and several bug fixes around key injection and coordinate handling.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://devblogs.microsoft.com/ifdef-windows/windows-app-development-cli-v0-5-0-expanded-ui-automation-js-ts-bindings-and-more>

## Questions this post answers

### How do I call Windows Runtime (WinRT) APIs from JavaScript or TypeScript without writing a native addon?

Windows App Development CLI (WinApp CLI) v0.5.0 generates typed .js and .d.ts bindings from WinAppSDK and other WinRT .winmd metadata, calling into WinRT at runtime via @microsoft/dynwinrt. Run npx winapp init . --use-defaults --add-js-bindings, then import from the #winapp/bindings subpath and call WinRT APIs like ordinary JavaScript, with no node-gyp or MSBuild step required.

_Electron and Node developers weighing native addons versus typed bindings can compare real-world approaches on daily.dev._

### What changed with UI coordinate terminology in Windows App Development CLI v0.5.0, and will it break my automation scripts?

As of v0.5.0, coordinates previously called "app" coordinates are renamed to "screen" coordinates across all ui commands. Scripts referencing the old "app" terminology need to be updated to match the new naming, since this is a breaking change documented in the 0.5.0 release notes.

_Teams maintaining UI automation scripts can track breaking changes like this on daily.dev before upgrading._

### How does Windows App Development CLI diagnose WinUI 3 stowed exception crashes (0xC000027B)?

Running winapp run --debug-output automatically triggers a WinUI stowed-exception triage pass whenever the crashed app loaded Microsoft.UI.Xaml.dll, requiring no extra flag. It surfaces the originating HRESULT and full ErrorContext chain, the native XAML dispatch stack, and the managed user frame that actually threw, by hosting DbgEng and running the WinUI team's triage extension against the minidump without needing WinDbg installed.

_Developers debugging elusive WinUI crashes can follow tooling updates like this on daily.dev._

## Similar posts on daily.dev

- [WinApp CLI v0.7.0 Release Announcement](https://daily.dev/posts/winapp-cli-v0-7-0-release-announcement-tqesvxf3j) · DevBlogs · 72 upvotes · 10 comments
- [Microsoft Introduces WinApp CLI to Unify Windows App Development Workflows](https://daily.dev/posts/microsoft-introduces-winapp-cli-to-unify-windows-app-development-workflows-y5sifeppi) · InfoQ · 0 upvotes · 0 comments

---

Tags: [#typescript](https://daily.dev/tags/typescript), [#winui](https://daily.dev/tags/winui)

[View this post on daily.dev](https://daily.dev/posts/expanded-ui-automation-js-ts-bindings-and-more-b48nyggld)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"expanded UI automation, JS/TS bindings, and more","url":"https://daily.dev/posts/expanded-ui-automation-js-ts-bindings-and-more-b48nyggld","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/expanded-ui-automation-js-ts-bindings-and-more-b48nyggld"},"datePublished":"2026-07-22T17:29:38.627Z","dateModified":"2026-09-14T06:39:40.526Z","description":"Windows App Development CLI v0.5.0 ships with a significantly expanded UI automation toolkit, adding screen recording, touch/pen/keyboard input injection,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/bfd60d12e1566f22dbe0807271e62ecd?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/bfd60d12e1566f22dbe0807271e62ecd?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"DevBlogs","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"DevBlogs","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/8f68b453325f482ebeb73fb780092713","url":"https://daily.dev/sources/devblogs"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/expanded-ui-automation-js-ts-bindings-and-more-b48nyggld","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"typescript,winui","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"DevBlogs","item":"https://daily.dev/sources/devblogs"},{"@type":"ListItem","position":3,"name":"expanded UI automation, JS/TS bindings, and more"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/expanded-ui-automation-js-ts-bindings-and-more-b48nyggld#faq","mainEntity":[{"@type":"Question","name":"How do I call Windows Runtime (WinRT) APIs from JavaScript or TypeScript without writing a native addon?","acceptedAnswer":{"@type":"Answer","text":"Windows App Development CLI (WinApp CLI) v0.5.0 generates typed .js and .d.ts bindings from WinAppSDK and other WinRT .winmd metadata, calling into WinRT at runtime via @microsoft/dynwinrt. Run npx winapp init . --use-defaults --add-js-bindings, then import from the #winapp/bindings subpath and call WinRT APIs like ordinary JavaScript, with no node-gyp or MSBuild step required. Electron and Node developers weighing native addons versus typed bindings can compare real-world approaches on daily.dev."}},{"@type":"Question","name":"What changed with UI coordinate terminology in Windows App Development CLI v0.5.0, and will it break my automation scripts?","acceptedAnswer":{"@type":"Answer","text":"As of v0.5.0, coordinates previously called \"app\" coordinates are renamed to \"screen\" coordinates across all ui commands. Scripts referencing the old \"app\" terminology need to be updated to match the new naming, since this is a breaking change documented in the 0.5.0 release notes. Teams maintaining UI automation scripts can track breaking changes like this on daily.dev before upgrading."}},{"@type":"Question","name":"How does Windows App Development CLI diagnose WinUI 3 stowed exception crashes (0xC000027B)?","acceptedAnswer":{"@type":"Answer","text":"Running winapp run --debug-output automatically triggers a WinUI stowed-exception triage pass whenever the crashed app loaded Microsoft.UI.Xaml.dll, requiring no extra flag. It surfaces the originating HRESULT and full ErrorContext chain, the native XAML dispatch stack, and the managed user frame that actually threw, by hosting DbgEng and running the WinUI team's triage extension against the minidump without needing WinDbg installed. Developers debugging elusive WinUI crashes can follow tooling updates like this on daily.dev."}}]}
```

