Skip to main content

Documentation Index

Fetch the complete documentation index at: https://photocli.com/llms.txt

Use this file to discover all available pages before exploring further.

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

photo-cli settings [options]

Arguments

--key, -k
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.
--value, -v
string
The new value to assign to the setting specified by --key. Must be used together with --key.
--reset, -r
boolean
Reset all settings to their factory defaults. No extra value required — pass the flag alone.

Operations

List all settings

Run photo-cli settings with no arguments to print every setting and its current value:
photo-cli settings
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

photo-cli settings --key YearFormat
YearFormat=yyyy

Set a single setting

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

photo-cli settings --reset

Settings reference

SettingDefaultDescription
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
ConnectionLimit4Maximum number of concurrent reverse geocode HTTP requests
CoordinatePrecision4Number of decimal places used when storing GPS coordinates in the CSV/database
CsvReportFileNamephoto-cli-report.csvFile name for the copy/info report written to the output folder
DateFormatWithDayyyyy.MM.dd.NET date format string used when the naming style includes a day component. See MSDN custom date format strings
DateFormatWithMonthyyyy.MM.NET date format string used when the naming style includes a month but not a day component
DateTimeFormatWithMinutesyyyy.MM.dd_HH.mm.NET datetime format string for DateTimeWithMinutes and related naming styles
DateTimeFormatWithSecondsyyyy.MM.dd_HH.mm.ss.NET datetime format string for DateTimeWithSeconds and related naming styles
DayFormatdd.NET format string for the day component alone
DayRangeSeparator-Character between the start and end dates in DayRange folder append names
DryRunCsvReportFileNamephoto-cli-dry-run.csvFile 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.*VariousLog level settings per namespace. Use Namespace=LogLevel format (e.g., LogLevel.Default=Error). Accepted values: Trace, Debug, Information, Warning, Error, Critical
MonthFormatMM.NET format string for the month component alone
NoAddressAndPhotoTakenDateFolderNameno-address-and-no-photo-taken-dateName of the subfolder used for photos missing both GPS and date when InSubFolder actions are selected
NoAddressFolderNameno-addressName of the subfolder used for photos missing GPS coordinates when InSubFolder is selected for --no-coordinate
NoPhotoTakenDateFolderNameno-photo-taken-dateName of the subfolder used for photos missing a date when InSubFolder is selected for --no-taken-date
PhotoFormatInvalidFolderNameinvalid-photo-formatName 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
SupportedExtensionsjpg,jpeg,heic,png,hifComma-separated list of photo file extensions to process
CompanionExtensionsmovComma-separated list of companion file extensions to copy alongside photos
YearFormatyyyy.NET format string for the year component alone
LogCategoryNameOutputFalseWhether to include the log category name in console output
MacOsCommandopenCommand used to open photos on macOS
MacOsArgumentPrefix-a PreviewArguments prefixed before file paths when opening photos on macOS
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 for the full list of specifiers.