Fiddler CLI Command Reference
This article lists the built-in commands of the 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.
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.
fiddler-cli start
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.
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.
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.
fiddler-cli clear
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_argumentserror. - 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:
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:
# Windows PowerShell
fiddler-cli dump C:\captures
fiddler-cli dump "$env:USERPROFILE\My Captures"
fiddler-cli dump .\captures
:: Windows Command Prompt
fiddler-cli dump C:\captures
fiddler-cli dump "%USERPROFILE%\My Captures"
fiddler-cli dump .\captures
# 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.
Only one
clear,cls, ordumpcommand can run at a time. If you run another one while the previous command is still in progress, the CLI reports theoperation_in_progresserror.
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.
| 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:
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:
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:
-
Start capturing and set a response breakpoint for server errors:
shfiddler-cli start fiddler-cli bps 500 -
Reproduce the problem in your application. Fiddler Everywhere pauses each response with status code
500so that you can inspect or modify it in the Live Traffic list. -
Resume the paused sessions:
shfiddler-cli go -
Clear the breakpoint and export the captured sessions for later analysis:
shfiddler-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.
# 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:
fiddler-cli urlreplace "/v2/" ""
To clear the URL replacement, run the command without values:
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.
# 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:
fiddler-cli overridehost
Cleared 2 Fiddler CLI host override(s).