# How to Increase the Timeout for Slow Sites in Holehe

> Learn how to increase the timeout for slow sites in Holehe using the -T flag or by editing core.py. Resolve slow site issues and improve performance.

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

---

**Pass the `-T` flag followed by the desired number of seconds (e.g., `holehe -T 30 email@example.com`) to override the default 10‑second limit, or edit [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py) line 94 to change the default permanently.**

Holehe is an asynchronous OSINT tool—maintained in the **megadose/holehe** repository—that checks email addresses across hundreds of services using a shared HTTP client. By default, this client enforces a 10‑second timeout on all requests, which often fails on slow or heavily rate‑limited sites. Learning how to increase the timeout for slow sites in Holehe ensures you retrieve accurate results from sluggish platforms without modifying individual modules.

## How Holehe Manages Request Timeouts

Holehe constructs one shared `httpx.AsyncClient` at startup and passes it to every module. The timeout value originates from the CLI argument `-T/--timeout`, defined in [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py) at lines 94‑95:

```python
parser.add_argument("-T","--timeout", type=int , default=10,
                    required=False, dest="timeout",
                    help="Set max timeout value (default 10)")

```

After parsing, the value is stored in `args.timeout` and injected into the client constructor at lines 12‑13 of the same file. When you increase this value, the shared client waits longer for responses from slow servers.

## Method 1: Increase Timeout at Runtime (Recommended)

The fastest way to accommodate slow sites is to pass a higher value via the command line. The `-T` flag accepts an integer representing seconds and applies globally for that execution.

Run Holehe with an extended timeout:

```bash
holehe -T 30 user@example.com

```

You can set any reasonable value (e.g., 45 or 60 seconds) depending on the target's responsiveness. This approach requires no code changes and reverts to the 10‑second default on the next run.

## Method 2: Change the Default Timeout Permanently

If you consistently scan slow networks, modify the default value in the source code. Open [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py) and locate line 94 within the argument parser section. Change the `default` parameter from `10` to your preferred baseline:

```python
parser.add_argument("-T","--timeout", type=int , default=30,
                    required=False, dest="timeout",
                    help="Set max timeout value (default 30)")

```

Save the file and reinstall the package or run it in development mode. Every future execution will now use 30 seconds unless explicitly overridden by the `-T` flag.

## Handling Module‑Specific Timeout Overrides

Some individual modules hardcode their own short timeouts that ignore the global client setting. For example, [`holehe/modules/social_media/myspace.py`](https://github.com/megadose/holehe/blob/main/holehe/modules/social_media/myspace.py) at line 21 passes `timeout=2` directly to the request:

```python
r = await client.get("https://myspace.com/signup/email",
                    headers=headers, timeout=2)

```

Similar overrides exist in [`holehe/modules/medical/caringbridge.py`](https://github.com/megadose/holehe/blob/main/holehe/modules/medical/caringbridge.py) (line 36), [`holehe/modules/forum/onlinesequencer.py`](https://github.com/megadose/holehe/blob/main/holehe/modules/forum/onlinesequencer.py) (line 23), and [`holehe/modules/forum/cracked_to.py`](https://github.com/megadose/holehe/blob/main/holehe/modules/forum/cracked_to.py) (line 23). If you encounter timeouts on these specific sites after increasing the global limit, edit the module file and replace the hardcoded integer with a higher value or remove the `timeout` parameter entirely to inherit the global client setting.

## Summary

- **Runtime adjustment:** Use `holehe -T <seconds>` to temporarily increase the timeout for a single scan.
- **Permanent adjustment:** Edit [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py) line 94 and change `default=10` to your desired baseline.
- **Module overrides:** Check individual modules (e.g., [`myspace.py`](https://github.com/megadose/holehe/blob/main/myspace.py) line 21) for hardcoded timeout values that bypass global settings.
- **Architecture:** All changes affect the shared `httpx.AsyncClient` instantiated in [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py) lines 12‑13.

## Frequently Asked Questions

### What is the default timeout in Holehe?

The default timeout is **10 seconds**, defined in the argument parser at [`holehe/core.py`](https://github.com/megadose/holehe/blob/main/holehe/core.py) line 94. This value is passed to the `httpx.AsyncClient` constructor when the tool initializes.

### Why do I still get timeouts after using the `-T` flag?

Certain modules define their own timeout values directly in the request call. For example, [`myspace.py`](https://github.com/megadose/holehe/blob/main/myspace.py) sets `timeout=2` at line 21, overriding the global client setting. You must edit these specific modules to remove or increase the hardcoded value.

### Can I set different timeouts for different platforms?

Holehe does not support per‑platform timeout flags via the CLI. To use different timeouts, you must edit the individual module files (e.g., [`caringbridge.py`](https://github.com/megadose/holehe/blob/main/caringbridge.py) or [`onlinesequencer.py`](https://github.com/megadose/holehe/blob/main/onlinesequencer.py)) and adjust the `timeout` parameter in the specific `client.get()` or `client.post()` call.

### Does increasing the timeout slow down Holehe?

Yes. A higher global timeout means the tool will wait longer for unresponsive servers before giving up, which increases total execution time. Use the shortest timeout that reliably captures results from your target sites to maintain efficiency.