Runtimes and framework presets
Choose a project runtime, understand deployment overrides, and prepare arm64-compatible artifacts.
Every Lambda-backed SproutOS project owns a framework preset and runtime default. Project creation shows the recommended combination—Node.js 24 for a new Next.js, Hono, or Node Function project, and provided.al2023 for a generic Web executable—and lets you change it before creating the project. Changes in Modify apply only to future deployments.
Run sprout runtime list for the live catalogue. The dashboard groups versions by language and shows the underlying Amazon Linux generation when it affects compatibility or lifecycle.
Choose an execution contract
nextandhonorun Node.js HTTP servers through Lambda Web Adapter.webruns an executablerun.shHTTP server through Lambda Web Adapter on any compatible ZIP runtime. SproutOS supplies the custom-runtimebootstrapbridge.functioninvokes a Lambda handler directly. Set the handler exported by the finished package, such asindex.handler; Node.js 24 handlers must be async and cannot use callback-style handlers.staticpublishes immutable files at the edge and has no Lambda runtime.androiduploads an APK for signing and distribution and has no Lambda runtime.
Groups and repository workflow projects do not inherit a Lambda runtime. In a monorepo, configure the website, API, and each other deployable child independently.
Defaults, overrides, and rollback
The project setting is the normal default. sprout deploy --runtime ... --handler ... and the equivalent GitHub Action inputs override it for one release; they do not edit the project. There is no checked-in SproutOS runtime configuration file.
Every deployment records its resolved preset, runtime, and handler. Changing project settings does not rewrite an existing deployment, and rollback restores the old deployment without rebuilding or substituting today’s runtime.
Build for the runtime
SproutOS uploads a finished artifact; runtime selection does not reinstall or rebuild dependencies. Set the CI build toolchain separately and use the same language version you selected for SproutOS. Customer Lambda functions run on Linux arm64, so native packages and compiled binaries must target that architecture.
AWS applies compatible patch updates inside a managed runtime identifier. Moving between major runtime identifiers remains your application upgrade. The catalogue shows deprecation and selection cutoff dates; a runtime can remain selectable with a warning during a transition, but disabled identifiers are rejected for new deployments. Previously published versions remain valid rollback targets.