# doctor

Gather CLI configuration data and run diagnostic tests to discover and report potential problems in your environment.

## Description for doctor

When you run the doctor command without parameters, it first displays a diagnostic overview of your environment. It then writes a detailed diagnosis to a JSON file in the current directory. Use the --outputdir to specify a different directory. To run diagnostic tests on a specific plugin, use the --plugin parameter. If the plugin isn't listening to the doctor, then you get a warning.

Use the --command parameter to run a specific command in debug mode; the doctor writes both stdout and stderr to \*.log files that you can provide to Salesforce Customer Support or attach to a GitHub issue.

Plugin providers can also implement their own doctor diagnostic tests by listening to the "sf-doctor" event and running plugin specific tests that are then included in the doctor diagnostics log.

## Flags

| Flag Name (Long) | Flag Name (Short) | Description                                                                                           |
| ---------------- | ----------------- | ----------------------------------------------------------------------------------------------------- |
| `--command`      | `-c`              | **Type:** Value<br><br>Command to run in debug mode; results are written to a log file.               |
| `--create-issue` | `-i`              | **Type:** Boolean<br><br>Create a new issue on our GitHub repo and attach all diagnostic results.     |
| `--flags-dir`    | N/A               | **Type:** Value<br><br>Import flag values from a directory.                                           |
| `--json`         | N/A               | **Type:** Boolean<br><br>Format output as json.                                                       |
| `--output-dir`   | `-d`              | **Type:** Value<br><br>Directory to save all created files rather than the current working directory. |
| `--plugin`       | `-p`              | **Type:** Value<br><br>Specific plugin on which to run diagnostics.                                   |

## Examples for doctor

Run CLI doctor diagnostics:

```shell
sf doctor
```

Run CLI doctor diagnostics and the specified command, and write the debug output to a file:

```shell
sf doctor --command "force:org:list --all"
```

Run CLI doctor diagnostics for a specific plugin:

```shell
sf doctor --plugin @salesforce/plugin-source
```
