Unable to start DynamoDB Local process
TL;DR — DynamoDB Local (a Java app) couldn't launch. The usual causes are a missing or too-old Java runtime, port 8000 already taken, or the serverless-dynamodb plugin never downloaded the jar. Fix Java, free the port, or re-install.
What it means
You'll see it from the serverless-dynamodb / serverless-dynamodb-local plugin, or when running the jar directly:
Unable to start DynamoDB Local process!The child process that runs the local emulator failed to spawn or exited immediately.
Why it happens
- No Java, or an incompatible version. DynamoDB Local needs a JRE (recent versions require Java 11+). If
java -versionfails, that's it. - Port already in use — something else is on
8000(a previous instance that didn't shut down). - The jar was never installed —
sls dynamodb installdidn't run or failed, so there's nothing to start. - A path/permissions problem with the install directory.
- Apple Silicon / arch mismatch with an old jar that bundles native SQLite libs.
How to fix it
- Install/verify Java 11+:
java -version. If missing, install a JRE (e.g. Temurin/OpenJDK 11+). - Re-install DynamoDB Local:
npx serverless dynamodb install - Free the port (or change it): find what's on 8000 and stop it —
lsof -i :8000 # then kill the PID, or configure a different port - Use the official Docker image to sidestep Java/arch issues entirely:
docker run -p 8000:8000 amazon/dynamodb-local - Point your client at it with a placeholder region + endpoint (see Missing region in config).