# Holehe CLI Flags: Complete Guide to Command-Line Options

> Explore Holehe CLI flags like --only-used and --csv for email security checks. Master command-line options with this complete guide to Holehe. Detect compromised emails efficiently.

- Repository: [Palenath/holehe](https://github.com/megadose/holehe)
- Tags: api-reference
- Published: 2026-08-28

---

**Holehe supports seven CLI flags including `--only-used`, `--no-color`, `--no-clear`, `--no-password-recovery`, `--csv`, and `--timeout`, plus a required positional argument for the target email address.**

Holehe is an open-source OSINT tool for checking whether an email address is registered on various online services. Understanding the available Holehe CLI flags allows you to customize output formatting, control request behavior, and filter results according to your investigation workflow. The command-line interface is implemented in [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py) using Python's `argparse` module.

## Core Argument Structure

The CLI parser in [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py) defines one required positional argument and multiple optional flags. The positional `email` argument accepts one or more values, though Holehe only processes the first email provided (lines 181–184).

## Output Control Flags

Holehe provides four flags to customize how results display and export.

### --only-used

Filter results to show only services where the email is actually registered. This hides "not used" entries and declutters the output (lines 184–186).

### --no-color

Disable colourised terminal output for plain text logging. Use this when piping output to files or systems that do not support ANSI color codes (lines 186–188).

### --no-clear

Prevent Holehe from clearing the terminal screen before printing results. This preserves previous command history and terminal context (lines 188–190).

### -C, --csv

Export the full result set to a CSV file named `holehe_<timestamp>_<email>_results.csv`. This generates machine-readable output for further analysis in spreadsheet applications or data processing pipelines (lines 192–194).

## Request Behavior Flags

These flags modify how Holehe interacts with target services during the email verification process.

### -NP, --no-password-recovery

Skip password-recovery attempts on services that support them (such as Adobe and Mail.ru). This speeds up scans and reduces noise when you only need registration verification (lines 190–192).

### -T, --timeout

Set the HTTP request timeout in seconds. The default value is 10 seconds. Increase this value for slow connections or decrease it for faster failure on unresponsive services (lines 194–196).

## Practical Usage Examples

Run a basic email check against all supported services:

```bash
holehe test@example.com

```

Display only successful registrations without colored output:

```bash
holehe test@example.com --only-used --no-color

```

Export results to CSV while skipping password recovery attempts:

```bash
holehe test@example.com --csv --no-password-recovery

```

Increase the timeout for slow networks and preserve terminal history:

```bash
holehe test@example.com --timeout 20 --no-clear

```

Combine multiple flags for automated workflows:

```bash
holehe test@example.com --only-used --no-color --csv --timeout 30

```

## Implementation Details

According to the megadose/holehe source code, the argument parser initializes in `maincore` at program startup. After parsing, Holehe imports all module functions from `holehe/modules/`, executes them concurrently, and applies the selected output filters. The ~120 individual service modules respect the global timeout and password-recovery settings defined by these CLI flags.

## Summary

- **Holehe CLI flags** are defined in [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py) using Python's `argparse.ArgumentParser`
- **Positional argument**: `email` (required, accepts multiple values but uses only the first)
- **Output filters**: `--only-used`, `--no-color`, `--no-clear`, and `--csv` control visibility and export format
- **Request settings**: `--no-password-recovery` skips reset attempts and `--timeout` adjusts the 10-second default HTTP timeout
- **Flag combinations**: Multiple flags work together for customized automated scanning workflows

## Frequently Asked Questions

### Can I use multiple Holehe CLI flags simultaneously?

Yes, Holehe supports flag combinations. For example, `holehe email@example.com --only-used --csv --timeout 15` filters for used services only, exports to CSV, and sets a 15-second timeout in a single command.

### What naming convention does Holehe use for CSV exports?

When using the `--csv` flag, Holehe generates filenames automatically using the pattern `holehe_<timestamp>_<email>_results.csv`. The timestamp ensures unique filenames for multiple scans of the same address.

### Why would I disable password recovery checks with `--no-password-recovery`?

Password recovery attempts on services like Adobe or Mail.ru can generate email notifications to the target address. Using `-NP` or `--no-password-recovery` makes the scan stealthier and faster by skipping these verification steps.

### What is the default HTTP timeout in Holehe?

The default timeout is 10 seconds per request. Use `-T` or `--timeout` followed by a number of seconds to adjust this value for slower networks or to fail faster on unresponsive services.