The way the interrupted continue works, is that it looks at the last successful backup, and then makes a “synthetic version”. The synthetic version is created from whatever completed, and then patching with the files from the previous version. Since there is no previous version the recovery gives up.
I think we should just allow that you can continue without a previous version (pretend it was empty), but that code is not implemented yet.
A silly workaround is the create the backup with just a single file, and then start the actual backup after this, so it can resume on crashes.
For the current code, yes, the situation where the initial backup did not succeed, you need to clean up the remote storage, local database, and start over.