Stopping a machine via the CLI actually destroys it

When i stop a Fly Machine using the CLI, the machine goes into stop → exit → destroy, instead of just being stopped. The intended behavior I wanted was to stop the machine so that I can start it again quickly. Am I understanding this API correctly?

Can you provide a machine ID? That will help us debug as that is not the intended behavior.

Machine id: e784996f2d3283
App: 01gsvbe37d73jb4s6w1nnnaphv
Org: sahale

Instead of moving to status “destroyed”, the machine is still in “destroying” state after 10 minutes. I tried hitting my app which hosts a web server and it’s not accessible anymore.

After being in state “destroying” for an hour, the machine finally was destroyed.

Looking at the machine config, it has "auto_destroy": true which means the machine will destroy itself after exiting. And if it was a non-zero exit code, it delays destroying the machine fully for ~2 hours. When the fly m stop command was run, that resulted in the VM exiting and the system detecting this and performing the destroy process based on the auto_destroy setting.

Makes sense - thanks!