Hand a URL to the user's default browser or mail client — a "read more on the web" link, an OAuth start page, a support email, etc. Capability: openExternal — no prompt; restricted to the manifest's "openExternalAllowlist".
// app.json: { "capabilities": ["openExternal"], "openExternalAllowlist": ["example.com"] }
await window.chatoss.openExternal.open('https://example.com/docs');
await window.chatoss.openExternal.open('mailto:support@example.com?subject=Help');
Only http/https (to a listed host, subdomains match) and mailto: open — file://, other schemes, and off-list hosts are refused in Rust, so an app can't launch a local file/executable or reach an unlisted site. The allowlist is optional: mailto: links always work.