# Fiddler CLI Command Reference

This article lists the built-in commands of the [Fiddler CLI](https://www.telerik.com/fiddler/fiddler-everywhere/documentation/command-line/fiddler-cli) and shows how to use them.

Commands are case-insensitive. Arguments are positional—pass values directly after the command name, without option names.

## Commands

| Command                               | Description                                                                                                               | Example                                                  |
| :------------------------------------ | :------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------- |
| `start`                               | Starts capturing traffic through the system proxy.                                                                        | `fiddler-cli start`                                      |
| `stop`                                | Stops capturing traffic through the system proxy.                                                                         | `fiddler-cli stop`                                       |
| `status`                              | Shows the application and proxy status.                                                                                   | `fiddler-cli status`                                     |
| `show`                                | Shows and focuses the Fiddler Everywhere main window.                                                                     | `fiddler-cli show`                                       |
| `hide`                                | Hides the Fiddler Everywhere main window.                                                                                 | `fiddler-cli hide`                                       |
| `clear` or `cls`                      | Deletes the completed live sessions and keeps the active (still running) sessions.                                        | `fiddler-cli clear`                                      |
| `dump [directory]`                    | Exports the live sessions to a SAZ file, and then clears them. Saves the file to the Desktop when you omit the directory. | `fiddler-cli dump ./captures`                            |
| `bpu [text]`                          | Breaks before requests whose URL contains the text. Omit the text to clear the breakpoint.                                | `fiddler-cli bpu example.com/api`                        |
| `bpv [method]` or `bpm [method]`      | Breaks before requests with the specified HTTP method. Omit the method to clear the breakpoint.                           | `fiddler-cli bpm POST`                                   |
| `bps [status]`                        | Breaks before responses with the specified HTTP status code (`100`–`599`). Omit the status to clear the breakpoint.       | `fiddler-cli bps 500`                                    |
| `bpafter [text]` or `bpa [text]`      | Breaks before responses whose request URL contains the text. Omit the text to clear the breakpoint.                       | `fiddler-cli bpa example.com/api`                        |
| `g` or `go`                           | Resumes all sessions paused at breakpoints.                                                                               | `fiddler-cli go`                                         |
| `urlreplace <find> <replace>`         | Adds a temporary URL replacement. Run without values to clear it.                                                         | `fiddler-cli urlreplace example.com staging.example.com` |
| `overridehost <host> <target>`        | Adds a temporary host mapping. Run without values to clear all host mappings added through the CLI.                       | `fiddler-cli overridehost example.com 127.0.0.1:8080`    |
| `help`, `--help`, `-h`, or no command | Lists the available commands.                                                                                             | `fiddler-cli help`                                       |

Any other command name is forwarded to the `OnCliCommand` handler of the active script. For details, see [Custom CLI Commands](https://www.telerik.com/fiddler/fiddler-everywhere/documentation/scripting/script-custom-cli-commands).

## Capture and Application Commands

### start and stop

The `start` command enables the Fiddler Everywhere system proxy and starts capturing traffic. The `stop` command disables the system proxy.

```sh
fiddler-cli start
```

```txt
Proxy enabled.
```

If the proxy is already in the requested state, the CLI reports `Proxy is already enabled.` or `Proxy is already disabled.`. If Fiddler Everywhere cannot change the proxy state, the command fails with the `proxy_unavailable` error.

### status

The `status` command reports the sign-in, proxy, and scripting state of Fiddler Everywhere. It doesn't require a signed-in user.

```sh
fiddler-cli status
```

The output contains the following values (`True` or `False`):

| Value              | Description                                                                       |
| :----------------- | :-------------------------------------------------------------------------------- |
| `userSignedIn`     | The user information is loaded and a user profile exists (the user is signed in). |
| `proxyEnabled`     | System traffic capturing is enabled.                                              |
| `scriptingEnabled` | Scripting is switched on and at least one script is marked as enabled.            |



### show and hide

The `show` command shows and focuses the Fiddler Everywhere main window. The `hide` command hides it. Use `show` after starting Fiddler Everywhere with the `--hidden` option.

```sh
fiddler-cli --hidden start
fiddler-cli show
```

## Session Commands

### clear and cls

The `clear` command (or its alias `cls`) deletes the completed sessions from the **Live Traffic** list. Sessions that are still in progress are kept. After the command completes, Fiddler Everywhere also clears the session selection in the **Live Traffic** list.

```sh
fiddler-cli clear
```

```txt
Cleared 42 completed live session(s); active sessions were kept.
```

### dump

The `dump` command exports the live sessions to a SAZ file and then clears the exported sessions. The CLI creates a uniquely named file, for example, `fiddler-cli-dump-20250101-093000123-<id>.saz`, so running the command repeatedly never overwrites previous exports.

* When you omit the directory, the CLI saves the file to your Desktop.
* A relative directory is resolved from the current working directory of the terminal.
* The directory must already exist. Otherwise, the command fails with the `invalid_arguments` error.
* Fiddler Everywhere clears the exported sessions only after the export succeeds. If the export fails, the sessions remain in the **Live Traffic** list.

The command prints the full path to the created file:

```txt
Live sessions exported to '/Users/<user>/Desktop/fiddler-cli-dump-20250101-093000123-....saz' and cleared.
path: /Users/<user>/Desktop/fiddler-cli-dump-20250101-093000123-....saz
```

If there are no live sessions, the CLI prints `No live sessions to dump.`.

The following examples export the sessions to a specific directory:

```powershell
# Windows PowerShell
fiddler-cli dump C:\captures
fiddler-cli dump "$env:USERPROFILE\My Captures"
fiddler-cli dump .\captures
```

```bat
:: Windows Command Prompt
fiddler-cli dump C:\captures
fiddler-cli dump "%USERPROFILE%\My Captures"
fiddler-cli dump .\captures
```

```sh
# macOS and Linux
fiddler-cli dump ~/captures
fiddler-cli dump "$HOME/My Captures"
fiddler-cli dump ./captures
```

You can open the exported SAZ files in Fiddler Everywhere. For more information, see [Exporting and Importing Sessions](https://www.telerik.com/fiddler/fiddler-everywhere/documentation/collaboration/exporting-and-importing).

> tip Only one `clear`, `cls`, or `dump` command can run at a time. If you run another one while the previous command is still in progress, the CLI reports the `operation_in_progress` error.

## Breakpoint Commands

Breakpoint commands pause matching sessions so that you can inspect and modify them in Fiddler Everywhere before they continue. For more information about breakpoints, see [Breakpoints](https://www.telerik.com/fiddler/fiddler-everywhere/documentation/modify-and-filter-traffic/breakpoints).

| Command                          | Pauses                                            | Matches when                                              |
| :------------------------------- | :------------------------------------------------ | :-------------------------------------------------------- |
| `bpu <text>`                     | Requests, before they are sent to the server      | The request URL contains the text.                        |
| `bpv <method>` or `bpm <method>` | Requests, before they are sent to the server      | The request method equals the value, for example, `POST`. |
| `bps <status>`                   | Responses, before they are returned to the client | The response status code equals the value.                |
| `bpafter <text>` or `bpa <text>` | Responses, before they are returned to the client | The request URL contains the text.                        |

Each breakpoint command holds a single value. Running the command again with a new value replaces the previous one. Running the command without a value clears that breakpoint. For example:

```sh
fiddler-cli bpu example.com/api   # Break on requests to example.com/api
fiddler-cli bpu example.com/auth  # Replace the URL condition
fiddler-cli bpu                   # Clear the URL breakpoint
```

The text and method values that you pass to the breakpoint commands are **case-sensitive**. For example, `fiddler-cli bpu /API/` doesn't match the `/api/` URLs, and `fiddler-cli bpm POST` doesn't match requests that use a lowercase method value.

The `g` command (or its alias `go`) resumes all sessions that are currently paused at a breakpoint:

```txt
Resumed 3 paused session(s).
```

### Example: Debugging an API Call

The following flow pauses the responses of failing API calls, lets you inspect them, and then cleans up:

1. Start capturing and set a response breakpoint for server errors:

   ```sh
   fiddler-cli start
   fiddler-cli bps 500
   ```

2. Reproduce the problem in your application. Fiddler Everywhere pauses each response with status code `500` so that you can inspect or modify it in the **Live Traffic** list.

3. Resume the paused sessions:

   ```sh
   fiddler-cli go
   ```

4. Clear the breakpoint and export the captured sessions for later analysis:

   ```sh
   fiddler-cli bps
   fiddler-cli dump
   ```

## Temporary Rule Commands

The `urlreplace` and `overridehost` commands create temporary rules that modify the captured traffic. The temporary rules and the breakpoints that you set through the CLI behave as follows:

* They are stored in memory and are lost when you close Fiddler Everywhere.
* They apply even when the **Rules** switch in the **Rules** tab is off.
* They are evaluated before the rules defined in the **Rules** tab and take priority over them.
* They don't appear in, and don't change, the rules saved in the **Rules** tab.

### urlreplace

The `urlreplace <find> <replace>` command replaces the `find` text with the `replace` text in the URL of each future request that contains `find`. The match is case-sensitive.

```sh
# Send production API calls to a staging server
fiddler-cli urlreplace api.example.com api.staging.example.com
```

The CLI holds a single URL replacement. Running the command with new values replaces the previous replacement. To remove the text from URLs, pass an empty string as the replacement value:

```sh
fiddler-cli urlreplace "/v2/" ""
```

To clear the URL replacement, run the command without values:

```sh
fiddler-cli urlreplace
```

### overridehost

The `overridehost <host> <target>` command routes the requests for `host` to `target`. Both values must be a hostname, an IP address, or a `host:port` pair.

```sh
# Route example.com to a local development server
fiddler-cli overridehost example.com localhost:5000
```

Unlike `urlreplace`, you can add multiple host overrides—each call adds a new mapping. For HTTPS requests, Fiddler Everywhere ignores the certificate name mismatch that the redirection causes.

To clear all host overrides added through the CLI, run the command without values:

```sh
fiddler-cli overridehost
```

```txt
Cleared 2 Fiddler CLI host override(s).
```

## See Also

* [Fiddler CLI](https://www.telerik.com/fiddler/fiddler-everywhere/documentation/command-line/fiddler-cli)
* [Custom CLI Commands](https://www.telerik.com/fiddler/fiddler-everywhere/documentation/scripting/script-custom-cli-commands)
* [Modifying Traffic with Rules](https://www.telerik.com/fiddler/fiddler-everywhere/documentation/modify-and-filter-traffic/modify-traffic-with-rules)
* [Exporting and Importing Sessions](https://www.telerik.com/fiddler/fiddler-everywhere/documentation/collaboration/exporting-and-importing)
