Holehe CLI Options: Complete Command-Line Reference with Examples

Holehe's command-line interface provides seven configurable options for controlling email enumeration output, performance, and export behavior, all defined in holehe/core.py.

Holehe is an open-source OSINT tool that checks whether an email address is registered on hundreds of websites. Understanding the available Holehe CLI options allows you to customize execution for different investigative scenarios, from silent logging to targeted result filtering. This guide covers every flag based on the actual implementation in the megadose/holehe repository.


Core CLI Architecture

Holehe uses Python's built-in argparse module for command-line parsing. The maincore() function in holehe/core.py (lines 81-98) defines and processes all arguments, storing them in an args namespace that drives the entire execution flow.


# Simplified structure from holehe/core.py

parser = argparse.ArgumentParser()
parser.add_argument("email")                       # Positional target

parser.add_argument("--only-used")                 # Filter results

parser.add_argument("--no-color")                  # Disable ANSI colors

parser.add_argument("--no-clear")                  # Preserve terminal history

parser.add_argument("-NP","--no-password-recovery") # Skip recovery modules

parser.add_argument("-C","--csv")                  # Export to CSV

parser.add_argument("-T","--timeout")              # Request timeout

args = parser.parse_args()

Available Holehe CLI Options Explained

Target Email (Positional Argument)

The email address to investigate is provided as a positional argument without any flag prefix. You can specify multiple addresses, though only the first is used as the primary target in the current implementation.


# Single target

holehe investigator@target.com

# Multiple targets (first email is primary)

holehe email1@example.com email2@example.com

Source: parser.add_argument("email")


--only-used: Filter to Successful Hits Only

The --only-used flag suppresses all output except sites where the email was confirmed registered. This eliminates "not used," "rate-limit," and error entries from the terminal display, producing cleaner results for targeted investigations.

holehe target@email.com --only-used

This option is processed by the print_result() function to conditionally skip non-matching results. Source: parser.add_argument("--only-used")


--no-color: Disable Terminal Colors

The --no-color flag removes all ANSI color codes from output. Essential when piping results to files, processing with other CLI tools, or working on terminals without color support.


# Redirect to file without escape sequences

holehe target@email.com --no-color > results.txt

# Chain with grep

holehe target@email.com --no-color | grep "Found"

Source: parser.add_argument("--no-color")


--no-clear: Preserve Terminal History

By default, Holehe clears the screen before displaying results. The --no-clear flag disables this behavior, keeping previous command output visible alongside results.


# Keep prior terminal output for context

holehe target@email.com --no-clear

Source: parser.add_argument("--no-clear")


-NP / --no-password-recovery: Skip Recovery Modules

The -NP (short) or --no-password-recovery (long) flag disables password-recovery enumeration on services like Adobe, Mail.ru, and similar platforms that expose registration status through recovery endpoints. This significantly reduces HTTP request volume and improves execution speed.


# Faster execution, fewer requests

holehe target@email.com -NP

# Equivalent long form

holehe target@email.com --no-password-recovery

Without this flag, Holehe attempts recovery-based checks that may trigger additional rate-limiting or account security notifications on target platforms. Source: parser.add_argument("-NP","--no-password-recovery")


-C / --csv: Export Results to File

The -C or --csv flag exports the complete result set to a timestamped CSV file with the naming pattern holehe_<timestamp>_<email>_results.csv. The program terminates immediately after file creation without displaying terminal output.


# Generate CSV report

holehe target@email.com -C

# Typical output: holehe_20240115_143022_target.com_results.csv

Source: parser.add_argument("-C","--csv")


-T / --timeout: Configure Request Timeout

The -T or --timeout flag sets the maximum HTTP request duration in seconds for each service check. The default is 10 seconds. Increase this value on slow connections or when targeting services with high latency.


# Standard timeout

holehe target@email.com -T 10

# Extended timeout for unreliable networks

holehe target@email.com -T 30

# Aggressive fast-fail approach

holehe target@email.com -T 5

Source: parser.add_argument("-T","--timeout")


Combining Holehe CLI Options

All flags can be stacked to create tailored execution profiles. Order does not matter except for the positional email argument, which must remain first.


# Comprehensive filtered export with extended timeout

holehe target@email.com --only-used -C -T 30

# Silent operation for scripted workflows

holehe target@email.com --only-used --no-color --no-clear -NP -T 15

# Fast reconnaissance without recovery attempts

holehe target@email.com -NP -T 5

Key Implementation Files

File Purpose
[holehe/core.py](https://github.com/megadose/holehe/blob/master/holehe/core.py) CLI argument definitions, maincore() orchestration, async module launching, result printing, and CSV export
[holehe/instruments.py](https://github.com/megadose/holehe/blob/master/holehe/instruments.py) Trio event loop progress-bar instrumentation
[holehe/localuseragent.py](https://github.com/megadose/holehe/blob/master/holehe/localuseragent.py) Static HTTP user-agent string
holehe/modules/* Individual service validation modules (e.g., holehe/modules/social_media/instagram.py)

Summary

  • Seven CLI options control Holehe's behavior: one positional email argument plus six flags
  • Output control: --only-used, --no-color, and --no-clear manage what appears in your terminal
  • Performance tuning: -NP reduces HTTP requests by 30-50% depending on target set; -T adjusts timeout sensitivity
  • Data export: -C generates timestamped CSV files for further analysis
  • All parsing occurs in holehe/core.py lines 81-98 via argparse and drives subsequent execution through the args namespace

Frequently Asked Questions

What is the default timeout for Holehe requests?

The default timeout is 10 seconds per HTTP request. Use -T or --timeout to adjust this value. For example, holehe email@example.com -T 20 doubles the wait time for slow-responding services.

Can I use multiple Holehe CLI options together?

Yes. All flags are fully composable. Combine --only-used, -NP, -C, and -T in any order after the positional email argument. The only requirement is that the target email must come first.

Does --only-used affect CSV exports?

No. The --only-used flag only filters terminal output. When using -C to export CSV, the file always contains the complete result set including "not used," "rate-limit," and error statuses regardless of other display flags.

What happens if I use -NP on all investigations?

Skipping password-recovery modules with -NP accelerates execution and reduces request volume, but you may miss registrations on platforms like Adobe, Mail.ru, or VK where recovery endpoints provide the only reliable enumeration method. Use -NP for speed; omit it for comprehensive coverage.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →