canonical/multipass

[snapshot] Lack of interactive stdin causes unhandled exception on `multipass restore`

Open

#4825 opened on Apr 15, 2026

View on GitHub
 (1 comment) (0 reactions) (1 assignee)C++ (6,956 stars) (634 forks)batch import
buggood first issuelowlow hanging fruit

Description

Describe the bug I am trying to restore the state of a VM without interactive stdin. If the --destructive flag is not used, it results in an unhandled exception.

└─[2] echo "no" | multipass stop a             
└─[λ] echo "no" | multipass restore a.snapshot1
[2026-04-15T17:44:54.113] [error] [client] Caught an unhandled exception: Unable to query client for confirmation. Use '--destructive' to automatically discard current machine state.

To Reproduce How, and what happened?

  1. multipass launch -n a && multipass stop a
  2. multipass snapshot a
  3. echo "no" | multipass restore a.snapshot1

Expected behavior Multipass should handle the exception and output the error message to the user.

Additional info

  • OS: Ubuntu 24.04 (authd)
  • CPU architecture or model: amd64
  • multipass version: 1.17.0-dev

Contributor guide