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-clearmanage what appears in your terminal - Performance tuning:
-NPreduces HTTP requests by 30-50% depending on target set;-Tadjusts timeout sensitivity - Data export:
-Cgenerates timestamped CSV files for further analysis - All parsing occurs in
holehe/core.pylines 81-98 viaargparseand drives subsequent execution through theargsnamespace
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:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →