anomalyco/sst · error
Runtime not found: %v
Error message
Runtime not found: %v
What it means
Collection.Build looks up a runtime by name via c.Runtime(input.Runtime) and returns this error when no runtime is registered under that name. It means the runtime identifier on a function/resource doesn't match any runtime the CLI knows about (no built-in or plugin runtime registered for it).
Source
Thrown at pkg/runtime/runtime.go:138
out = input.Bundle
result = &BuildOutput{
Handler: input.Handler,
Errors: []string{},
}
}
if input.Bundle == "" {
err := os.RemoveAll(out)
if err != nil {
return nil, err
}
err = os.MkdirAll(out, 0755)
if err != nil {
return nil, err
}
runtime, ok := c.Runtime(input.Runtime)
if !ok {
return nil, fmt.Errorf("Runtime not found: %v", input.Runtime)
}
result, err = runtime.Build(ctx, input)
if err != nil {
return nil, err
}
}
result.Out = out
if result.Sourcemaps == nil {
result.Sourcemaps = []string{}
}
if len(input.CopyFiles) > 0 {
for _, item := range input.CopyFiles {
from, err := filepath.Abs(item.From)
if err != nil {
return nil, err
}View on GitHub (pinned to a0bd20f762)
Solutions
- Check the runtime string in sst.config.ts against the list of supported runtimes for your sst version
- Fix typos and casing (e.g. "nodejs20" not "node20" or "NodeJS20")
- If it's a custom runtime, ensure the plugin providing it is loaded before build
- Upgrade sst if the runtime was added in a newer release
Example fix
// before runtime: "python3.13" // after (supported version in this sst release) runtime: "python3.12"
Defensive patterns
Strategy: validation
Validate before calling
// pin and verify the runtime string in sst.config.ts
const RUNTIMES = ["nodejs20","nodejs22","python3.12","go","rust"] as const
function isSupported(r: string): r is typeof RUNTIMES[number] {
return (RUNTIMES as readonly string[]).includes(r)
}
if (!isSupported(fn.runtime)) throw new Error(`unsupported runtime: ${fn.runtime}`) Type guard
function isSupportedRuntime(r: string): boolean {
return /^(nodejs|python|go|rust|dotnet|bun)\S*$/.test(r) // then check against sst's supported list
} Try / catch
try {
await sst.deploy()
} catch (e) {
if (String(e).includes("Runtime not found")) {
// fix runtime name in sst.config.ts or load the runtime plugin
}
} Prevention
- Copy the runtime identifier from sst docs rather than typing it from memory
- Pin sst version and confirm the runtime is supported in it
- Load any custom runtime plugin before deploy
- Keep casing/format exact (e.g. "nodejs20")
When it happens
Trigger: sst deploy builds a function whose input.Runtime string (from the SST config, e.g. "python3.12", "nodejs20", "rust", "go", or a custom runtime from a plugin) has no registered runtime in the Collection — misspelled name, unsupported version, or the plugin registering the runtime wasn't loaded.
Common situations: Typo in the runtime string in sst.config.ts; using a runtime version not supported by this sst version (e.g. newly released language version); custom runtime plugin not imported/initialized; case mismatch in the runtime name.
Related errors
- runtime not found
- SolidStart's app.config.ts must be configured to use the "aw
- error walking target directory during cleanup: %w
- uv build failed: %w
- uv build failed (exit code %d): %s
AI-assisted analysis of anomalyco/sst@a0bd20f762 (2026-08-30).
Data as JSON: /api/errors/4b63548bf6df70a6.
Report an issue: GitHub.