# How to Set a Custom Timeout for the Holehe CLI

> Learn to set a custom timeout for the Holehe CLI using the -T or --timeout flag. Easily adjust request limits for faster or more thorough checks. Override the default 10-second limit now.

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

---

**Use the `-T` or `--timeout` flag followed by the desired number of seconds (e.g., `holehe -T 30 user@example.com`) to override the default 10‑second limit for every HTTP request.**

Holehe is an open‑source OSINT tool maintained in the megadose/holehe repository that verifies whether an email address is registered across hundreds of online services. When running the CLI, you can adjust the network patience level to suit slow proxies, throttled connections, or aggressive scanning schedules.

## Where the Timeout Argument Is Defined

The command‑line interface registers the timeout option inside [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py). The `ArgumentParser` adds a `-T` short flag and a `--timeout` long flag that capture an integer value:

```python

# holehe/core.py (around line 194-195)

parser.add_argument("-T", "--timeout", type=int, default=10,
                    help="Timeout in seconds for each HTTP request")

```

If you omit the flag, `argparse` stores the default value of **10** in the `args.timeout` attribute.

## How the Timeout Is Applied to the HTTP Client

After parsing arguments, Holehe initializes a shared `httpx.AsyncClient` and injects the timeout directly into its constructor:

```python

# holehe/core.py (around line 208-213)

async with httpx.AsyncClient(timeout=args.timeout) as client:
    # All modules receive this client instance

    results = await launch_module(module, client, email)

```

Every module in `holehe/modules/` reuses this single client instance, guaranteeing that each outgoing request respects the identical timeout threshold you specified.

## Practical Usage Examples

The timeout value represents seconds per individual HTTP request, not the total duration of the scan. You can combine the flag with any other Holehe options.

```bash

# Default behavior (10 seconds per request)

holehe user@example.com

# Increase timeout for slow or tor connections

holehe --timeout 30 user@example.com

# Shorthand syntax for quick adjustments

holehe -T 5 user@example.com

# Combine with verbose output and module selection

holehe -v -T 20 -m twitter,github user@example.com

```

## Summary

- **Flag syntax:** Supply `-T <seconds>` or `--timeout <seconds>` when invoking the CLI.
- **Default value:** Holehe waits **10 seconds** per request if the flag is absent.
- **Code location:** The argument is defined in [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py) and fed into the `httpx.AsyncClient` used by all service modules.
- **Scope:** The setting governs individual HTTP request lifespans, not the aggregate runtime of the tool.

## Frequently Asked Questions

### What is the default timeout for Holehe?

The default timeout is **10 seconds**, hard‑coded in the argument parser inside [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py). If a target service fails to respond within this window, the underlying `httpx` client raises a timeout exception and the module records the failure.

### Can I assign different timeouts to different modules in one run?

No. Holehe instantiates a single `httpx.AsyncClient` with one global timeout value that is shared across every enabled module during the execution. To test the same email with varying timeouts, you must run the CLI multiple times with different `-T` values.

### Does increasing the timeout guarantee that Holehe will find more accounts?

Not necessarily. A longer timeout only gives slower servers more time to reply; it does not change the logic of the modules. If a platform explicitly blocks or drops the request, Holehe will still report a negative result regardless of how long it waits.

### Is there an upper limit for the timeout value?

The CLI accepts any positive integer that Python can parse as an `int` and passes it directly to `httpx.AsyncClient`. While Holehe imposes no artificial ceiling, extremely high values (e.g., 300 seconds) may cause the process to appear hung or trigger OS‑level connection timeouts before the application layer ever sees the response.