pio-settings
Manage PlatformIO settings
TLDR
Display the names, values, and descriptions of all PlatformIO settings
Display the name, value, and description of a specific PlatformIO setting
Set a specific setting value
Reset the values of all modified settings to their factory defaults
SYNOPSIS
pio settings {get|list|set} [KEY[=<VALUE>]] [OPTIONS]
PARAMETERS
get <KEY>
Retrieve and display the value of a specific setting
list
List all current settings with their values
set <KEY> <VALUE>
Assign a new value to the specified setting
--storage-dir <DIR>
Custom PlatformIO storage directory (default: ~/.platformio)
--verbose
Enable detailed verbose output
-h, --help
Show command help and exit
DESCRIPTION
pio settings is a subcommand of the PlatformIO CLI tool for configuring global settings in PlatformIO, an open-source ecosystem for IoT and embedded development. It enables users to list, get, or set key-value pairs that control PlatformIO's behavior across projects, such as telemetry, cache directories, update checks, and default protocols.
Settings are persisted in a JSON file within the PlatformIO storage directory (default: ~/.platformio). This command is crucial for customizing the environment, optimizing performance, or troubleshooting issues without modifying project-specific platformio.ini files. For instance, disable telemetry with pio settings set enable_telemetry no or check current values with pio settings list.
Changes typically take effect immediately for CLI usage but may require restarting the PlatformIO IDE extension in VSCode for full propagation. It's designed for both novice and advanced users to tailor PlatformIO to specific workflows or hardware setups.
CAVEATS
Settings are global and affect all projects; IDE restart may be needed for changes to propagate. Not all settings support every data type (bool, string, int).
KEY SETTINGS EXAMPLES
enable_telemetry: yes/no (anonymized usage stats)
default_tasks_dir: path (CI/CD tasks)
upload_protocol: custom uploader
check_internet: yes/no (network checks)
HISTORY
Part of PlatformIO Core since v2.0 (2015); evolved with settings like telemetry in v3.x for privacy controls.


