# How to Uninstall vphone-cli: Complete Removal Guide

> Completely uninstall vphone-cli using our guide. Remove the binary and delete configuration files for a clean removal of vphone-cli.

- Repository: [Lakr/vphone-cli](https://github.com/Lakr233/vphone-cli)
- Tags: how-to-guide
- Published: 2026-09-11

---

**Run `brew uninstall vphone-cli` to remove the binary, then delete `~/.vphone` to erase all virtual machine bundles, IPSW files, and Python environments.**

vphone-cli is distributed as a Homebrew formula through the `zqxwce/tap` repository and maintains persistent data in a dedicated user directory. Complete uninstallation requires removing both the compiled executable and the runtime artefacts stored outside the Homebrew prefix.

## Remove the Homebrew Package

The primary installation method places the **vphone-cli** binary and its associated `.app` bundle under your Homebrew prefix (typically `/usr/local/bin` or `/opt/homebrew/bin`). To remove these components, execute the standard Homebrew uninstall command:

```bash
brew uninstall vphone-cli

```

This command deletes the compiled Swift executable defined in [`sources/vphone-cli/VPhoneCLI.swift`](https://github.com/Lakr233/vphone-cli/blob/main/sources/vphone-cli/VPhoneCLI.swift) (the ArgumentParser entry point) and the application wrapper managed by [`sources/vphone-cli/VPhoneAppDelegate.swift`](https://github.com/Lakr233/vphone-cli/blob/main/sources/vphone-cli/VPhoneAppDelegate.swift). It also removes the host-side vsock client implementation found in [`sources/vphone-cli/VPhoneControl.swift`](https://github.com/Lakr233/vphone-cli/blob/main/sources/vphone-cli/VPhoneControl.swift), which handles IPA installation and file transfers between the host and virtual machines.

## Delete the Runtime Data Directory

vphone-cli stores all mutable data—including VM bundles, downloaded IPSWs, tool caches, and an embedded Python virtual environment—under the `~/.vphone` directory. As documented in the repository's [`README.md`](https://github.com/Lakr233/vphone-cli/blob/main/README.md) at line 108, this location acts as the data root for all runtime operations.

To completely purge these artefacts and reclaim disk space, run:

```bash
rm -rf ~/.vphone

```

Removing this directory is essential because Homebrew's uninstall process only targets files within its managed prefix. The `~/.vphone` path is created dynamically by the application during first run and persists independently of the package manager.

## Clean Up Homebrew Cache (Optional)

Homebrew retains the source tarball and compilation artefacts in its internal cache. If you do not plan to reinstall vphone-cli and want to free additional storage, clear the formula's cached files:

```bash
brew cleanup

```

## Source Files Affected by Uninstallation

Understanding what gets removed helps verify a clean system state. The following core files from the `Lakr233/vphone-cli` repository define the functionality eliminated during the uninstall process:

- **[`sources/vphone-cli/VPhoneCLI.swift`](https://github.com/Lakr233/vphone-cli/blob/main/sources/vphone-cli/VPhoneCLI.swift)** – Defines the top-level CLI interface and command routing via Swift ArgumentParser.
- **[`sources/vphone-cli/VPhoneAppDelegate.swift`](https://github.com/Lakr233/vphone-cli/blob/main/sources/vphone-cli/VPhoneAppDelegate.swift)** – Manages the virtual machine lifecycle and installation workflows.
- **[`sources/vphone-cli/VPhoneControl.swift`](https://github.com/Lakr233/vphone-cli/blob/main/sources/vphone-cli/VPhoneControl.swift)** – Implements the vsock-based communication channel used for guest OS interactions.
- **`Makefile`** – Contains build targets for users who compiled from source rather than using the Homebrew distribution.

If you built vphone-cli manually using the `Makefile`, substitute the `brew uninstall` step with `make uninstall` or manually delete the binary from your `PATH`.

## Summary

- **Uninstall the package** with `brew uninstall vphone-cli` to remove the binary and `.app` bundle from the Homebrew prefix.
- **Delete user data** by running `rm -rf ~/.vphone` to remove VM images, IPSWs, caches, and the Python environment.
- **Clear the cache** using `brew cleanup` to remove Homebrew's stored compilation artefacts (optional).
- The process targets code defined in [`VPhoneCLI.swift`](https://github.com/Lakr233/vphone-cli/blob/main/VPhoneCLI.swift), [`VPhoneAppDelegate.swift`](https://github.com/Lakr233/vphone-cli/blob/main/VPhoneAppDelegate.swift), and [`VPhoneControl.swift`](https://github.com/Lakr233/vphone-cli/blob/main/VPhoneControl.swift) while preserving no residual state when the data directory is removed.

## Frequently Asked Questions

### Does uninstalling vphone-cli delete my virtual machines?

Yes, but only if you manually delete the `~/.vphone` directory. Running `brew uninstall vphone-cli` removes the executable but preserves VM bundles and disk images stored in the data root. You must run `rm -rf ~/.vphone` to erase virtual machine files completely.

### Can I reinstall vphone-cli after uninstalling?

Yes. Since the uninstall process removes all persistent state when you delete `~/.vphone`, reinstalling via `brew install zqxwce/tap/vphone-cli` creates a fresh environment without conflicts from previous configurations or cached IPSW files.

### What if I installed vphone-cli from source instead of Homebrew?

If you cloned the repository and ran `make install`, you should run `make uninstall` from the source directory to remove binaries, or manually delete the executable from your `PATH` (commonly `/usr/local/bin/vphone-cli`). You must still remove `~/.vphone` separately to delete runtime data.

### Where does vphone-cli store its configuration files?

All configuration and data files reside in the `~/.vphone` directory, as defined in the repository's [`README.md`](https://github.com/Lakr233/vphone-cli/blob/main/README.md) Locations table. This includes Python virtual environments, downloaded IPSW firmware files, and VM bundle storage. No configuration files are stored in standard Unix locations like `~/.config` or `/etc`.