canonical / canonical/multipass
About Instance Movement
- Dominant language
- C++
- Stars
- 9.2k
- Forks
- 828
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 44
Description
**Problem Statement**
Multipass currently lacks a built-in command to relocate VM instances. By default, instances are stored in a fixed directory (e.g., ~/Library/Application Support/multipass on macOS or C:\ProgramData\multipass on Windows). When users need to free up disk space, migrate instances to faster storage, or reorganize their system, they must resort to manual methods. These include copying VM files, updating configuration files, and ensuring consistent permissions—a process that is error-prone and time-consuming. The absence of an official "move" command limits Multipass's flexibility and user experience, especially for long-running projects or resource-constrained environments.
**Current Workarounds and Limitations**
Some users have developed workarounds, such as stopping the instance, moving its data directory, and adjusting paths in Multipass's internal state files. However, these approaches are unofficial, unsupported, and may break with updates. They also require advanced technical knowledge, which contradicts Multipass's goal of being user-friendly. Without a standardized solution, data loss or instance corruption risks increase, hindering adoption for critical workflows.
**Some Approaches**
As a result, we need MORE built-in commands.
```
multipass launch --move
```
Commands like so is used by *wsl*, so I guess it will be a great try for multipass.
Contributor guide
Research direction
Begin with Multipass's CLI command entry points and instance storage or state handling; the issue names no files or tests. Compare the proposed move command with the macOS and Windows storage paths, then define and test a safe relocation workflow with clear handling for stopped instances, permissions, and completion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- cli, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100