> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hooksnode.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Listen

> Send live webhooks to localhost. No tunnel.

`hooksnode listen` connects to your project's live event stream. For each webhook that the project receives, it sends a copy to a port on your computer.

```bash theme={null}
hooksnode listen 3000
```

```text theme={null}
POST /p/7f3a… → 200 (12ms)
POST /p/7f3a… → 500 (3ms)
```

The copy has the original method, path, headers and body. A provider's signature, such as `x-paystack-signature`, still verifies on your machine.

## Flags

| Flag        | Notes                                                                                       |
| ----------- | ------------------------------------------------------------------------------------------- |
| `<port>`    | The local port. The CLI sends to `http://localhost:<port>`.                                 |
| `--project` | The project ID. If you have one project, the CLI picks it. If you have more, it lists them. |
| `--path`    | Send every event to this path, instead of the original path.                                |
| `--host`    | The hooksnode host.                                                                         |
| `--api-key` | The API key.                                                                                |

Example: send events to your Express route.

```bash theme={null}
hooksnode listen 3000 --project 7f3a... --path /webhooks/paystack
```

## What it does and does not do

* **A copy only.** Your destinations still get each event. `listen` does not change deliveries, retries or the event log.
* **Live only.** It sends events that arrive while it is connected. It does not send older events. Use [replay](/delivery/replay) for those.
* **Webhooks only.** It sends events from webhook and WhatsApp sources. Mail and polled events do not go to `listen`.
* **Reconnects.** If the connection drops, the CLI connects again. It waits 1 second at first, and up to 30 seconds. Events that arrive while it is not connected are not sent to your machine.

<Tip>Make a separate dev project with no production destinations. Then your tests do not reach your live systems.</Tip>
