Krate
Try Krate
Answer

Share an app made with AI as one file

To share an app you built with AI, package it for Krate, the app runtime, as one .krate file and send it: the person on the other end installs a compatible Krate runtime once, sees what the app asks for, and opens it on macOS, Windows or Linux.

Reviewed against Krate 0.5.4. 2 min read

Already have a .krate file? Jump to the handoff steps. If your AI generated a website, Python script or another kind of app, start with the porting guide; renaming the file does not convert it.

Choose the authoring path

Krate Studio provides a graphical way to make and revise apps with AI. Developers can also use the CLI or write the code themselves. AI is an authoring option, not a runtime requirement.

The local CLI example below requires Rust/component build tools and an installed, authenticated Claude Code CLI. Your provider's subscription or API charges are separate. Check the quickstart for installation and platform requirements.

krate doctor
krate ai
krate create "a regex tester with a pattern box and live matches" --agent claude --output regex.krate

Use krate create --help for your installed version's options.

Test before you send it

krate run regex.krate --dump-caps
krate run regex.krate --prompt

The first command inspects capabilities without executing the component. The second runs it after permission review. Try valid and invalid inputs, resizing, save/reopen behavior and permission denial. Build and first-frame checks cannot establish that every feature works.

The normal authoring path includes editable source. Review the bundle for secrets, private sample data and third-party licensing obligations before sharing. Do not assume that generated code is correct or appropriately licensed just because it compiles.

Send the file directly

Once you have tested the app, email the .krate file, put it in a shared folder or send it through a chat that accepts files. Include the runtime version you tested, a short description and the task the recipient can try. Optional hosted publishing is not required.

The recipient follows the open-a-file instructions, installs the runtime for their own system, then inspects and opens the file. They do not need your AI account, source checkout or Rust toolchain. GUI file association depends on the installed runtime/opener; the CLI provides an explicit path:

krate run regex.krate --dump-caps
krate run regex.krate --prompt

Sending an app does not automatically send its separate saved data, copy credentials or synchronize accounts. If it needs a network service, document that dependency.

Publishing is an optional separate step

A hub can host the bundle so you share a URL. Publishing uploads the file and may list it publicly, depending on the selected options. Read the current command's authentication, hub and listing requirements first:

krate publish --help
krate publish regex.krate

Do not publish private code or user data by accident. Direct file sharing remains available without a hosted publishing service.

What the recipient can trust

A capability declaration describes requested access, not a guarantee of good behavior. Approved file or network access can still be misused within its scope. Review the source and permissions and start with apps from people you trust. See the security boundaries and how to verify the same artifact across systems.

Questions

Can I change the app after I send it?

Yes. Ask for the change, then send the new .krate. Studio keeps each version, so you can go back if a change goes wrong.

Does the person I send it to need my AI tool or an account?

No. They install the Krate runtime once and open the file. An account is only needed to publish an app to the gallery.

Which AI tools can make a .krate?

Krate Studio on your computer works with Claude, Codex, Grok or Gemini. In the browser, Krate's own AI makes your first app.

Can I send it by email or chat?

Yes. A .krate is one file, so it goes anywhere a document goes: an email attachment, a chat, a shared drive or a link.

What if my app needs the internet?

It declares each host it talks to, and the person opening it sees that list and approves it before the app runs. Hosts it did not declare stay unreachable.

More answers about shipping desktop apps

Build with Krate

Start with the runtime and a project that fits the current APIs. The runtime and CLI are MIT OR Apache-2.0; Studio has a separate license. Check the licensing details and capability limits.