Complete Guide to Holehe CLI Options: Command-Line Reference

Holehe provides seven command-line options—including output filters, CSV export, timeout controls, and password-recovery toggles—all defined in holehe/core.py and processed by the maincore() function.

Holehe is an open-source OSINT tool by megadose/holehe that checks if an email address is registered on various websites. Understanding the available Holehe CLI options allows you to customize execution flow, filter results, and export data efficiently. All arguments are implemented using Python’s standard argparse library and parsed at runtime to drive the asynchronous checking engine.

Positional Argument: Target Email

The only required input is the target email address passed as a positional argument.

In holehe/core.py at line 81, the parser defines this as:

parser.add_argument("email")

You can provide one or more addresses, though the first value is treated as the primary target for certain internal logic. This argument triggers the async module launching loop that tests against hundreds of services.

Optional Flags and Modifiers

Output Control: --only-used, --no-color, and --no-clear

Control how results appear in your terminal with three display-specific flags:

  • --only-used – Suppresses entries showing "not used," "rate-limit," or errors. Only sites where the email was found are displayed. Defined at line 84 in holehe/core.py.
  • --no-color – Disables ANSI color codes. Essential when piping output to files or using terminals without color support (line 86).
  • --no-clear – Prevents the tool from clearing the screen before printing results, preserving previous command output (line 88).

Execution Behavior: -NP and -T

Modify how Holehe performs network requests with these performance-related options:

  • -NP / --no-password-recovery – Skips password-recovery attempts on services like Adobe and Mail.ru. This reduces HTTP calls and significantly speeds up execution (line 90).
  • -T / --timeout – Sets the maximum wait time in seconds for each service’s HTTP request. The default is 10 seconds. Increase this for slow connections or decrease for faster local networks (line 94).

Data Export: -C / --csv

The -C or --csv flag exports the complete result set to a CSV file named holehe_<timestamp>_<email>_results.csv and terminates the program immediately after writing. This is implemented at line 92 in holehe/core.py and invoked via the export_csv() function during the execution flow.

Practical Usage Examples

Basic execution against a single target:

holehe user@example.com

Show only successful registrations and disable colored output:

holehe user@example.com --only-used --no-color

Skip password-recovery attempts and export results to CSV:

holehe user@example.com -NP -C

Increase timeout for unreliable networks while keeping the screen clear:

holehe user@example.com -T 30 --no-clear

Combine multiple flags for scripted automation:

holehe user@example.com --only-used -NP -C -T 20 --no-color

Summary

  • Holehe uses Python’s argparse in holehe/core.py to define seven CLI options parsed by maincore().
  • The positional email argument is required; all other flags are optional.
  • Output filtering: Use --only-used to hide negative results, --no-color for plain text logs, and --no-clear to preserve terminal history.
  • Performance tuning: Apply -NP to skip password-recovery modules and -T to adjust the 10-second default timeout.
  • Data extraction: The -C flag generates timestamped CSV files for further analysis.
  • Options are parsed at line 98 (parser.parse_args()) and stored in the args namespace that drives print_result() and the async service checks.

Frequently Asked Questions

How do I export Holehe results to a CSV file?

Use the -C or --csv flag. When invoked, Holehe writes all results to a file named holehe_<timestamp>_<email>_results.csv and exits immediately after saving. This occurs after the async checking loop completes but before interactive result display.

What is the default timeout for HTTP requests in Holehe?

The default timeout is 10 seconds per service. You can override this with -T or --timeout followed by the desired number of seconds. This is particularly useful when scanning from networks with high latency or when targeting services known for slow response times.

How can I speed up Holehe execution?

Pass the -NP (--no-password-recovery) flag to skip modules that attempt password-recovery flows on sites like Adobe or Mail.ru. According to the source code in holehe/core.py, this reduces the total number of HTTP requests and significantly decreases overall runtime.

Why is my terminal output missing color codes?

Holehe automatically detects terminal capabilities, but if colors are missing or you need plain text for logging, append --no-color to your command. This disables ANSI escape sequences in the print_result() function, producing readable logs suitable for pipes and files.

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 →