Limitations
Understand runtime, network, and API constraints when building with Startpod.
Startpod is designed for interactive development projects, not arbitrary desktop workloads.
Runtime boundaries
- A page can have one live pod.
- Files are limited to 1 MiB each.
- CPU-heavy work still consumes browser resources.
- Process signals, permissions, PTY behavior, and operating-system APIs are not complete POSIX implementations.
- Native Node.js addons cannot run as desktop binaries in the browser.
- Package compatibility depends on the Node APIs and install behavior each package uses.
Service Worker ownership
Startpod's managed preview uses a separate origin. If you explicitly opt into same-origin previews for trusted code, Startpod uses a root-scoped Service Worker. It will not replace a worker already owned by your application.
Network boundaries
- Browser CORS rules apply to direct requests.
- Requests blocked by browser CORS rules need to go through your application's backend.
- Use public npm packages. Private and authenticated registries are not supported.
API compatibility boundaries
Some compatibility hooks accept calls without providing the corresponding behavior:
preview-messagelisteners can register but do not receive events.xdg-openandcodelisteners can register but are not emitted.forwardPreviewErrorsis accepted but is not a complete error-forwarding channel.- Authentication and license helpers do not reproduce a hosted account service.
Use the API reference to check the methods and events available to your integration.