Been there, done that. It doesn't look like IoT Edge validates your manifest beyond some very rudimentary schema checks before trying to apply it. This will render your Edge device looking somewhat like this in Azure Portal, and configuring it becomes impossible: Long story short - you've got a couple of options: 1. Remove your borked deployment (az iot edge deployment delete -d '') 2. Fix your environment using one of the available options: 2.1 Deploy a WORKING base/single-device manifest. This'll overwrite everything you had before. 2.2 Go to "Set Modules" -> "Runtime" and fix your $edgeAgent and $edgeHub configuration (compare with a working device) 2.3 Theoretically, a single-device deployment from VS Code should also overwrite the broken configuration with a functional one, but I haven't actually verified this.