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.

The settings command lets you view and change application-level defaults that persist across all future commands. You can control things like date formats, separator characters, report file names, reverse geocode API keys, and fallback folder names — all stored locally per user, with changes taking effect immediately for every subsequent command.

How settings work

photo-cli stores your settings in a per-user configuration file on disk. You do not need to pass these values on the command line each time; once set, they apply automatically to every copy, archive, info, and address run.

Settings commands

List all settings and their current values:
photo-cli settings
Get the value of a single setting:
photo-cli settings --key <KeyName>
Set a new value for a single setting:
photo-cli settings --key <KeyName> --value <value>
Reset all settings to their factory defaults:
photo-cli settings --reset

Settings reference

KeyDefault valueDescription
AddressSeparator-Separator character between address components in file and folder names
ArchivePhotoTakenDateHashSeparator-Separator between the date-time portion and the SHA1 hash in archive file names
BigDataCloudApiKey(empty)API key for the BigDataCloud reverse geocode provider
ConnectionLimit4Maximum number of concurrent connections to reverse geocode providers
CoordinatePrecision4Number of decimal places used when formatting GPS coordinates
CsvReportFileNamephoto-cli-report.csvName of the CSV report file created by the copy and info commands
DateFormatWithDayyyyy.MM.ddDate format used when the naming style includes a day component
DateFormatWithMonthyyyy.MMDate format used when the naming style includes a month component
DateTimeFormatWithMinutesyyyy.MM.dd_HH.mmDate-time format with minute-level precision
DateTimeFormatWithSecondsyyyy.MM.dd_HH.mm.ssDate-time format with second-level precision
DayFormatddFormat string for the day component alone
DayRangeSeparator-Separator between the start and end dates in DayRange folder names
DryRunCsvReportFileNamephoto-cli-dry-run.csvCSV report file name used during a dry-run
FolderAppendSeparator-Separator inserted between an appended date or address and the original folder name
GoogleMapsApiKey(empty)API key for the Google Maps reverse geocode provider
LocationIqApiKey(empty)API key for the LocationIq reverse geocode provider
LogLevel.<Namespace>VariousPer-namespace log level. Use the Namespace=LogLevel format (e.g., LogLevel.Default=Error). Accepted levels: Trace, Debug, Information, Warning, Error, Critical. Default namespaces: LogLevel.Default=Error, LogLevel.Microsoft=Warning, LogLevel.PhotoCli=Warning, LogLevel.PhotoCli.Services.Implementations.ReverseGeocodes=Warning, LogLevel.Polly=Warning, LogLevel.System.Net.Http.HttpClient=Warning
MonthFormatMMFormat string for the month component alone
NoAddressAndPhotoTakenDateFolderNameno-address-and-no-photo-taken-dateFolder name used for photos that have neither a taken date nor GPS coordinates
NoAddressFolderNameno-addressFolder name used for photos that have no GPS coordinates or address
NoPhotoTakenDateFolderNameno-photo-taken-dateFolder name used for photos that have no EXIF taken date
PhotoFormatInvalidFolderNameinvalid-photo-formatFolder name used for files that cannot be read as a valid photo
SameNameNumberSeparator-Separator inserted before the sequential number when two output files would share a name
SupportedExtensionsjpg,jpeg,heic,png,hifComma-separated list of file extensions to process
CompanionExtensionsmovComma-separated list of companion file extensions to copy alongside photos
YearFormatyyyyFormat 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 .NET conventions. You can find the full list of supported tokens in the Microsoft .NET date and time format strings reference.