> For the complete documentation index, see [llms.txt](https://docs.parallels.com/landing/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.parallels.com/landing/parallels-desktop-developers-guide/command-line-interface-utility/manage-virtual-machines-from-cli/general-virtual-machine-management/register-unregister-a-virtual-machine.md).

# Register/Unregister a Virtual Machine

### Registering a Virtual Machine

**prlctl register** <*path*>

Registers a virtual machine in Parallels Desktop. The <*path>* parameter specifies a path to the virtual machine file.

#### Optional Parameters

**--uuid** <*UUID*>

If included, the specified UUID will be assigned to the virtual machine. A UUID can be generated using console utilities like `uuidgen(1)`in macOS. If this option is not included, the original UUID will be used.

**--regenerate-src-uuid**

If included, the virtual machine source ID will be automatically generated (the SMBIOS product ID will be changed as well).

**--force**

If included, all validation checks will be skipped.

### Unregister a Virtual Machine

**prlctl unregister** <*vm\_id* | *vm\_name*>

Unregisters the specified virtual machine.

{% hint style="info" %}
**Notes**: Use the **register** command when you have a virtual machine on the host that doesn't show up in the list of the virtual machines registered with Parallels Desktop. This can be a machine that was previously removed from Parallels Desktop or a machine that was manually copied from another location.

Once a VM is registered, all VM restrictions on the filesystem are removed. If you would like to protect the VM from editing, you should restrict registering or removing the VM in Parallels Desktop preferences.

The **unregister** command removes a virtual machine from Parallels Desktop but does not delete it from the host. You can re-register such a machine with Parallels Desktop later using the **register** command.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.parallels.com/landing/parallels-desktop-developers-guide/command-line-interface-utility/manage-virtual-machines-from-cli/general-virtual-machine-management/register-unregister-a-virtual-machine.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
