Machine Diagnostics
Use diagnostics when a machine did not stop when you expected. They report on the inactivity daemon that runs on the machine.
devsy machine diagnostics <machine-name>The output separates the provider's machine state from the daemon's state, and lists the last patrol and each workspace. Add --result-format json for scripts.
When a machine stops
The daemon stops a machine only when every workspace on it is idle. A workspace that is busy, invalid, or has auto-stop turned off blocks the stop. An inactivity timeout must be a positive duration such as 30m.
The shutdown candidate shown for a workspace is when it becomes eligible, not a scheduled stop time. New activity moves it, and other workspaces can still block the machine.
Fields
| Field | Meaning |
|---|---|
| Provider state | The last machine state the provider reported. |
| Daemon health | Whether the daemon's last operation succeeded. |
| Snapshot freshness | Whether the daemon updated its snapshot recently. It does not prove the machine is reachable now. |
| Last patrol | When the daemon last checked workspace inactivity. |
| Last daemon error | The latest failure in this daemon session. It stays after recovery, so check its timestamp. |
| Shutdown candidate | Every workspace check allows a stop. The provider state shows whether the machine actually stopped. |
Events
devsy machine logs <machine-name>This shows recent daemon events: starts and stops, workspace discovery, inactivity deadlines, and shutdown results. Add --follow to keep polling for new ones. These are diagnostic events only, not shell, Docker, or provider logs. Older events are rotated out, and the output tells you when it detects a gap.
shutdown.succeeded means the stop command returned successfully, not that the provider confirmed the machine stopped. A missing completion event does not prove failure, because an abrupt shutdown can prevent it from being written.
Devsy does not start a stopped machine to collect diagnostics. It only collects while you ask for it, through the CLI or an open machine page in the desktop app, which keeps the last snapshot for a stopped machine.
If diagnostics are stale or unavailable, check the provider state and connection first.