What Krate cannot do yet

Read this before you spend a weekend. Everything below is current as of 2026-09-01 and is checked against the shipped capability list rather than written from memory.

Works today

AreaWhat you get
WindowsOne window, widgets, canvas, events, resize, DPI
Drawing2D canvas, GPU rendering, a 3D scene graph, text measurement
AudioPlayback and microphone capture
SpeechSpeech to text, on device, behind the microphone grant
CameraFrame capture, behind a permission prompt
FilesA scoped folder the app owns, plus a file picker for anything else
NetworkHTTP and WebSockets, granted per host and port
StorageKey-value, SQL, a secret store, and a shared store across machines
SystemClipboard, dialogs, notifications, open-a-URL, locale, time, random
InputKeyboard, pointer, wheel

Not yet

MissingWhat it blocks
Text to speechThe answering half of a voice app
PrintingInvoices, labels, anything a business prints
Multiple windowsA dashboard with a separate controls window
File watchingFolder-driven tools that react to changes
Serial and USBArduino, ESP32, live sensor apps
Bluetooth LEHeart-rate monitors, scales, beacons
Screen captureScreenshot and recording tools
Tray and menu barUtilities that live at the edge of the screen
Scheduled wakeReminders that fire with the app closed
Local serverReceiving webhooks, serving a page on the LAN

Deliberately never

Some things are absent by design and will stay absent:

  • Sending input to other applications. A Krate app cannot type into your editor or click your browser.
  • Ambient full-disk access. An app reaches the folder it owns and whatever a person picks in a dialog. There is no "read everything".
  • Processes that outlive their window. An app is running or it is not.

These are the wall. A capability that could be added later is listed under "Not yet"; anything here is a decision.

The honest state of the sandbox

The capability boundary is enforced in code and it works. Krate is young, and we do not claim production hardening against deliberately hostile third-party code today. Run apps from people you know, or from the gallery, or ones you built.

Language and platform

  • Rust only for building a real app. Go and TypeScript SDKs exist in the tree, but they are early CLI-shaped work with no UI bindings, so nothing you can ship a window from. The guest is a WebAssembly component, so other languages are possible; none are finished.
  • Desktop only. macOS, Windows and Linux, on Intel and ARM. iOS and Android exist in the tree as reference ports and are not shipping.
  • Heavy GPU work is early. The renderer draws real scenes, but a demanding 3D game is not what this runs well today.

How to check for yourself

krate run app.krate --dump-caps     # what one app asks for
krate manifest capabilities         # every capability this runtime knows

That second command is the authority. This page is written from it, and if the two ever disagree, the command is right.

If a capability you need is missing, that is worth telling us: what dies weekly is what gets built next.