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

# Settings Command Reference

> View, change, and reset photo-cli defaults: date formats, separator characters, folder names for missing data, API keys, and supported file extensions.

`photo-cli settings` lets you view and change persistent application-level defaults that apply across all commands. Rather than typing long arguments on every invocation, you can store values like your API key, preferred date format, or the name used for folders holding photos with no address. Settings are saved locally and read on every run.

## Synopsis

```bash theme={null}
photo-cli settings [options]
```

## Arguments

<ParamField query="--key, -k" type="string">
  The name of the setting to read or write. When used alone, the current value is printed. When combined with `--value`, the setting is updated.
</ParamField>

<ParamField query="--value, -v" type="string">
  The new value to assign to the setting specified by `--key`. Must be used together with `--key`.
</ParamField>

<ParamField query="--reset, -r" type="boolean">
  Reset all settings to their factory defaults. No extra value required — pass the flag alone.
</ParamField>

## Operations

### List all settings

Run `photo-cli settings` with no arguments to print every setting and its current value:

```bash theme={null}
photo-cli settings
```

```text theme={null}
LogLevel.Default=Error
LogLevel.Microsoft=Warning
LogLevel.PhotoCli=Warning
LogLevel.PhotoCli.Services.Implementations.ReverseGeocodes=Warning
LogLevel.Polly=Warning
LogLevel.System.Net.Http.HttpClient=Warning
YearFormat=yyyy
MonthFormat=MM
DayFormat=dd
DateFormatWithMonth=yyyy.MM
DateFormatWithDay=yyyy.MM.dd
DateTimeFormatWithMinutes=yyyy.MM.dd_HH.mm
DateTimeFormatWithSeconds=yyyy.MM.dd_HH.mm.ss
AddressSeparator=-
FolderAppendSeparator=-
DayRangeSeparator=-
SameNameNumberSeparator=-
PhotoFormatInvalidFolderName=invalid-photo-format
NoPhotoTakenDateFolderName=no-photo-taken-date
NoAddressFolderName=no-address
NoAddressAndPhotoTakenDateFolderName=no-address-and-no-photo-taken-date
CsvReportFileName=photo-cli-report.csv
DryRunCsvReportFileName=photo-cli-dry-run.csv
ConnectionLimit=4
BigDataCloudApiKey=
GoogleMapsApiKey=
LocationIqApiKey=
CoordinatePrecision=4
ArchivePhotoTakenDateHashSeparator=-
SupportedExtensions=jpg,jpeg,heic,png,hif
CompanionExtensions=mov
LogCategoryNameOutput=False
MacOsCommand=open
MacOsArgumentPrefix=-a Preview
```

### Get a single setting

```bash theme={null}
photo-cli settings --key YearFormat
```

```text theme={null}
YearFormat=yyyy
```

### Set a single setting

```bash theme={null}
photo-cli settings --key YearFormat --value y
```

No output is printed on success. Run `photo-cli settings --key YearFormat` to confirm the change.

### Reset all settings to defaults

```bash theme={null}
photo-cli settings --reset
```

## Settings reference

| Setting                                | Default                              | Description                                                                                                                                                                                                          |
| -------------------------------------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `AddressSeparator`                     | `-`                                  | Character inserted between address components in file and folder names                                                                                                                                               |
| `ArchivePhotoTakenDateHashSeparator`   | `-`                                  | Character between the date string and SHA1 hash in archive file names                                                                                                                                                |
| `BigDataCloudApiKey`                   | *(empty)*                            | Default BigDataCloud API key. Also settable via `PHOTO_CLI_BIG_DATA_CLOUD_API_KEY` env var                                                                                                                           |
| `ConnectionLimit`                      | `4`                                  | Maximum number of concurrent reverse geocode HTTP requests                                                                                                                                                           |
| `CoordinatePrecision`                  | `4`                                  | Number of decimal places used when storing GPS coordinates in the CSV/database                                                                                                                                       |
| `CsvReportFileName`                    | `photo-cli-report.csv`               | File name for the copy/info report written to the output folder                                                                                                                                                      |
| `DateFormatWithDay`                    | `yyyy.MM.dd`                         | .NET date format string used when the naming style includes a day component. See [MSDN custom date format strings](https://learn.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings) |
| `DateFormatWithMonth`                  | `yyyy.MM`                            | .NET date format string used when the naming style includes a month but not a day component                                                                                                                          |
| `DateTimeFormatWithMinutes`            | `yyyy.MM.dd_HH.mm`                   | .NET datetime format string for `DateTimeWithMinutes` and related naming styles                                                                                                                                      |
| `DateTimeFormatWithSeconds`            | `yyyy.MM.dd_HH.mm.ss`                | .NET datetime format string for `DateTimeWithSeconds` and related naming styles                                                                                                                                      |
| `DayFormat`                            | `dd`                                 | .NET format string for the day component alone                                                                                                                                                                       |
| `DayRangeSeparator`                    | `-`                                  | Character between the start and end dates in `DayRange` folder append names                                                                                                                                          |
| `DryRunCsvReportFileName`              | `photo-cli-dry-run.csv`              | File name for the report written during a dry run                                                                                                                                                                    |
| `FolderAppendSeparator`                | `-`                                  | Character between the appended date/address string and the original folder name                                                                                                                                      |
| `GoogleMapsApiKey`                     | *(empty)*                            | Default Google Maps API key. Also settable via `PHOTO_CLI_GOOGLE_MAPS_API_KEY` env var                                                                                                                               |
| `LocationIqApiKey`                     | *(empty)*                            | Default LocationIq API key. Also settable via `PHOTO_CLI_LOCATIONIQ_API_KEY` env var                                                                                                                                 |
| `LogLevel.*`                           | Various                              | Log level settings per namespace. Use `Namespace=LogLevel` format (e.g., `LogLevel.Default=Error`). Accepted values: `Trace`, `Debug`, `Information`, `Warning`, `Error`, `Critical`                                 |
| `MonthFormat`                          | `MM`                                 | .NET format string for the month component alone                                                                                                                                                                     |
| `NoAddressAndPhotoTakenDateFolderName` | `no-address-and-no-photo-taken-date` | Name of the subfolder used for photos missing both GPS and date when `InSubFolder` actions are selected                                                                                                              |
| `NoAddressFolderName`                  | `no-address`                         | Name of the subfolder used for photos missing GPS coordinates when `InSubFolder` is selected for `--no-coordinate`                                                                                                   |
| `NoPhotoTakenDateFolderName`           | `no-photo-taken-date`                | Name of the subfolder used for photos missing a date when `InSubFolder` is selected for `--no-taken-date`                                                                                                            |
| `PhotoFormatInvalidFolderName`         | `invalid-photo-format`               | Name of the subfolder used for files that cannot be parsed as a valid photo format                                                                                                                                   |
| `SameNameNumberSeparator`              | `-`                                  | Character between the base name and the disambiguating number when two photos share the same generated name                                                                                                          |
| `SupportedExtensions`                  | `jpg,jpeg,heic,png,hif`              | Comma-separated list of photo file extensions to process                                                                                                                                                             |
| `CompanionExtensions`                  | `mov`                                | Comma-separated list of companion file extensions to copy alongside photos                                                                                                                                           |
| `YearFormat`                           | `yyyy`                               | .NET format string for the year component alone                                                                                                                                                                      |
| `LogCategoryNameOutput`                | `False`                              | Whether to include the log category name in console output                                                                                                                                                           |
| `MacOsCommand`                         | `open`                               | Command used to open photos on macOS                                                                                                                                                                                 |
| `MacOsArgumentPrefix`                  | `-a Preview`                         | Arguments prefixed before file paths when opening photos on macOS                                                                                                                                                    |

<Note>
  Date and time format strings follow the .NET custom date and time format specification. For example, `yyyy` produces a four-digit year, `MM` a zero-padded two-digit month, and `HH` a zero-padded 24-hour hour. See the [MSDN reference](https://learn.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings) for the full list of specifiers.
</Note>
