Shutdown Check

Search documentation

Find a page or section

SC100: Service never became ready

SC100 (service never became ready) means the readiness route did not return its expected status before readiness.timeoutMs. The causes and how to fix each.

SC100 means the process stayed alive, but the readiness route did not return the expected status before readiness.timeoutMs expired. No workload request or shutdown signal was sent.

CodeSC100 FAIL
StageStartup and in-flight work
CLI exit code1
What it meansThe readiness route did not return the expected status before readiness.timeoutMs ran out.
Message
  • Service did not return HTTP <readiness.status> at <url> within <readiness.timeoutMs> ms
First thing to checkCheck the command, the port in baseUrl, the readiness path and status, and the service's stderr.

What should I check?

  1. Confirm that baseUrl uses the same host and port as the service.
  2. Open readiness.path and check its real status code.
  3. Make sure the service binds to 127.0.0.1, localhost, or ::1.
  4. Read the captured stdout and stderr for startup warnings.
  5. Increase readiness.timeoutMs only when startup is genuinely slow.
shutdown-check.json
{
  "baseUrl": "http://127.0.0.1:3000",
  "readiness": {
    "path": "/health",
    "status": 200,
    "timeoutMs": 30000
  }
}

A refused connection is normal while the service starts; shutdown-check keeps polling. If the process exits during that wait, the result is SC101 instead.

How do I verify the fix?

Start the service with the same command and request the exact readiness URL. It must return the configured status without authentication or redirects.

After the fix, the timeline contains service ready — HTTP 200 followed by a workload event. If readiness takes close to the full timeout, investigate slow startup before merely increasing the limit again.