From 13759330b1f7e7cb0d67047ea42c5482548ba7fa Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Wed, 17 Dec 2025 16:11:50 +0100 Subject: [PATCH] cli-plugins/manager: remove legacy system-wide cli-plugin path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 4d3a76d71e368b7ccff6184d2c65e588b543f293 updated the list of directories for discovering CLI plugins, adding `%ProgramFiles%\Docker\cli-plugins` for system-wide plugins. For backward compatibility, the `%PROGRAMDATA%\Docker\cli-plugins` was kept, however, this location is no longer used, and not generally recommended for storing non-data content (such as CLI plugin binaries). From the [ProgramData] documentation: > ProgramData specifies the path to the program-data folder (normally C:\ProgramData). > Unlike the Program Files folder, this folder can be used by applications to store > data for standard users, because it does not require elevated permissions. It also mentions "It can’t contain any serviceable components.", effectively meaning that these paths should not contain data that is managed (through updates etc.), making it a poor choice for installing "system wide" CLI plugins. This patch removes the path from the list, given that this location is no longer used by Docker Desktop, and the CLI-plugin API is considered an internal implementation (since 459c6082f87750d45c84cd9454f3fa4b6c5580d9). [ProgramData]: https://learn.microsoft.com/en-us/windows-hardware/customize/desktop/unattend/microsoft-windows-shell-setup-folderlocations-programdata Signed-off-by: Sebastiaan van Stijn --- cli-plugins/manager/manager_windows.go | 1 - 1 file changed, 1 deletion(-) diff --git a/cli-plugins/manager/manager_windows.go b/cli-plugins/manager/manager_windows.go index e8b5598e5960..b42b713e9988 100644 --- a/cli-plugins/manager/manager_windows.go +++ b/cli-plugins/manager/manager_windows.go @@ -16,6 +16,5 @@ import ( // // [ConfigFile.CLIPluginsExtraDirs]: https://pkg.go.dev/github.com/docker/cli@v26.1.4+incompatible/cli/config/configfile#ConfigFile.CLIPluginsExtraDirs var defaultSystemPluginDirs = []string{ - filepath.Join(os.Getenv("ProgramData"), "Docker", "cli-plugins"), filepath.Join(os.Getenv("ProgramFiles"), "Docker", "cli-plugins"), }