# How to Update Holehe to the Latest Version: 3 Methods Explained

> Learn how to update Holehe with three easy methods. Use pip3 install upgrade holehe, git pull with setup install, or rebuild your Docker image for the latest features.

- Repository: [Palenath/holehe](https://github.com/megadose/holehe)
- Tags: how-to-guide
- Published: 2026-08-16

---

**Update Holehe using `pip3 install --upgrade holehe` for PyPI releases, `git pull` followed by `python3 setup.py install` for source builds, or rebuild your Docker image for containerized deployments.**

Keeping Holehe current ensures you have the latest email-to-username correlation modules and bug fixes. Whether you installed from PyPI, cloned the megadose/holehe repository, or run it in Docker, this guide covers the exact update procedures based on the official source code.

## Update Holehe via PyPI (Recommended for Most Users)

The fastest way to update Holehe is through pip, which handles dependencies automatically.

Run this command in your terminal:

```bash
pip3 install --upgrade holehe

```

This contacts the Python Package Index, downloads the latest release (defined in [`setup.py`](https://github.com/megadose/holehe/blob/main/setup.py) as version 1.61 according to lines 5-8), and overwrites your existing installation. The `--upgrade` flag ensures pip replaces older files rather than skipping an already-installed package.

**Verify the update succeeded:**

```bash
holehe --version

```

You should see output matching the version in [`setup.py`](https://github.com/megadose/holehe/blob/main/setup.py) (e.g., `1.61`).

## Update Holehe from GitHub Source (Bleeding Edge)

For the absolute latest commits before they reach PyPI, update directly from the megadose/holehe repository.

Navigate to your local clone and pull changes:

```bash
cd holehe
git pull origin master

```

Then reinstall from source:

```bash
python3 setup.py install

```

The [`setup.py`](https://github.com/megadose/holehe/blob/main/setup.py) script (lines 5-16) rebuilds the distribution and re-registers the console entry point mapping `holehe` to `holehe.core:main`. This ensures your shell recognizes the updated executable.

This method is ideal if you need unreleased fixes or want to contribute patches back to the project.

## Update Holehe in Docker

Containerized deployments require rebuilding the image to fetch fresh code.

From the repository root, rebuild:

```bash
docker build . -t my-holehe-image

```

The `Dockerfile` at the repository root pulls the latest source during the build process, embedding the newest code into your image.

Run the updated container:

```bash
docker run my-holehe-image holehe <email>

```

Unlike pip or source installs, Docker updates are atomic—your previous image remains available until you explicitly remove it, allowing easy rollbacks if needed.

## Verify Your Holehe Version

Regardless of update method, confirm success with:

```bash
holehe --version

```

This invokes the version checker in [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py), which reports the version string defined in [`setup.py`](https://github.com/megadose/holehe/blob/main/setup.py). Mismatches indicate incomplete updates or multiple installations in different Python environments.

## Key Source Files Reference

Understanding these files helps troubleshoot update issues:

- **[`setup.py`](https://github.com/megadose/holehe/blob/main/setup.py)** — Defines package metadata, dependencies, and the `holehe = holehe.core:main` entry point
- **[`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py)** — Implements the CLI's `main()` function that launches the tool
- **[`README.md`](https://github.com/megadose/holehe/blob/main/README.md)** — Contains official installation and usage documentation

## Summary

- **`pip3 install --upgrade holehe`** — Fastest method for standard PyPI installations
- **`git pull` + `python3 setup.py install`** — Latest commits directly from megadose/holehe
- **`docker build . -t my-holehe-image`** — Container-based updates with rollback protection

Always verify with `holehe --version` to confirm you're running the expected release.

## Frequently Asked Questions

### How do I check which Holehe version is currently installed?

Run `holehe --version` in your terminal. The output displays the version string defined in [`setup.py`](https://github.com/megadose/holehe/blob/main/setup.py), such as `1.61`. If this command fails, Holehe may not be in your PATH or may need reinstallation.

### Why should I update Holehe instead of keeping an old version?

Each release adds new platforms for email correlation and fixes detection logic that sites change over time. Running outdated versions produces false negatives—missing accounts that actually exist.

### What's the difference between pip and source updates?

PyPI releases are stable, tested snapshots. Source updates from GitHub include the latest commits but may contain untested changes. Production environments typically prefer pip; security researchers often want source.

### Can I have multiple Holehe installations?

Yes, but conflicts occur when both register the `holehe` command. Use `which holehe` to locate the active binary, and `pip3 uninstall holehe` before switching to source installations to avoid confusion.