# SC110: Start probe was already active

> SC110 (start probe was already active) means the probe start barrier did not return inactiveStatus before work began. Fix the probe route or its statuses.

Source: https://shutdown.jscrate.dev/docs/codes/sc110
Last updated: 2026-09-23

`SC110` means the probe reported active work before shutdown-check sent the
workload request. Because the starting state is wrong, the probe cannot prove
that this test caused the work to begin.

| | |
| --- | --- |
| Code | `SC110` (FAIL) |
| Stage | Startup and in-flight work |
| CLI exit code | 1 |
| What it means | The work-start probe did not return its inactive status before any work was sent, so it cannot prove when work begins. |
| Message | `Work-start probe must return HTTP <inactiveStatus> before work begins; received <status>` |
| First thing to check | Make the probe return `inactiveStatus` while nothing is running, and a different `activeStatus` while work is in progress. |

## Why does it happen?

- The probe always returns `activeStatus`.
- Work from an earlier request is still running.
- `activeStatus` and `inactiveStatus` are reversed.
- The probe timed out or could not be reached.
- The probe tracks a global state shared by parallel tests.

## How do I fix it?

The route must return `inactiveStatus` before the workload starts and
`activeStatus` only while that workload is running.

```json title="shutdown-check.json"
{
  "started": {
    "type": "probe",
    "path": "/test/work-active",
    "inactiveStatus": 204,
    "activeStatus": 200
  }
}
```

Open the probe before running shutdown-check. If it does not return `204`, fix
the route or wait for old work to finish. Keep the route test-only when it
exposes internal application state.

## How do I verify the probe?

Check it in both states:

1. Before work, it returns `inactiveStatus`.
2. While the workload is deliberately paused, it returns `activeStatus`.
3. After the work ends, it returns `inactiveStatus` again.

The next shutdown-check run should record `work confirmed active` instead of
ending immediately after `service ready`.

## Related

- [Use a probe start barrier](https://shutdown.jscrate.dev/docs/in-flight-work#use-the-probe-barrier)
- [Start-barrier configuration](https://shutdown.jscrate.dev/docs/configuration#start-barrier)
- [SC111: Work was never in flight](https://shutdown.jscrate.dev/docs/codes/sc111)
