-
Notifications
You must be signed in to change notification settings - Fork 0
Home
TaskbarUtil is a command-line utility for managing the pinned items on the Windows 11 taskbar. It is the Windows counterpart of macOS dockutil: a scriptable way for an administrator to decide what a managed user's dock — here, taskbar — contains, in what order, without touching the machine by hand.
The mechanism is completely different from dockutil's, and that difference is the first
thing to understand. dockutil edits com.apple.dock.plist directly and asks the Dock to
reload; the plist is a documented, writable file and the Dock honours whatever is in it.
Windows 11 has no equivalent. Microsoft removed the shell verbs that used to pin and
unpin taskbar items, and the binary pin store (Favorites in the Taskband key, and
start2.bin) is undocumented and unwritable in any supported way. The one supported path
left is policy: a LayoutModification.xml file pointed at by a registry policy value,
which Explorer reads when it builds the taskbar.
So TaskbarUtil is really two things: a builder for that XML that resolves friendly app
names to the identifiers the XML needs, and a deployer that installs the XML as local
policy and forces Explorer to rebuild against it. add, remove, move and replace
edit a local config file and change nothing on screen. apply is the step that makes the
taskbar match it.
Download the MSI for your architecture from the
Releases page and install it. The
package installs taskbarutil.exe to C:\Program Files\sbin and adds that directory to
the machine PATH.
msiexec /i TaskbarUtil-x64-<version>.msi /qnBuild a layout, look at it, then deploy it:
taskbarutil add "File Explorer"
taskbarutil add "Microsoft Edge"
taskbarutil add "Windows Terminal"
taskbarutil show
taskbarutil applyapply restarts Explorer, so the taskbar disappears for a few seconds and comes back
carrying exactly the pins in the config, in order. To undo everything and get the stock
taskbar back:
taskbarutil reset| Page | What it covers |
|---|---|
| Installation | Supported Windows builds, MSI / nupkg / zip / build-from-source, verification, uninstall |
| CLI Reference | Every command, flag, argument and exit code |
| Configuration | The config file, every registry key the tool reads or writes, log locations |
| Layout XML Reference | The LayoutModification.xml schema TaskbarUtil generates and parses |
| Architecture | What runs in what order, where state lives, how app-name resolution works |
| Coming From dockutil | Verb-by-verb and flag-by-flag mapping, and what has no Windows equivalent |
| Deployment At Scale | What an admin runs at image time versus at login, and for which user |
| Troubleshooting | Symptom → cause → fix, log files, the failure modes visible in the code |
| Development | Repo layout, build, tests, how a release is cut |
| FAQ | The questions a Mac admin asks in the first hour |
Being blunt about the limits saves time later. TaskbarUtil cannot pin a single app to an
already-running taskbar without rebuilding the whole thing — the layout is all-or-nothing
because PinListPlacement="Replace" is how the XML works. It cannot remove a pin from a
user's taskbar that the user pinned themselves except by replacing the entire pin list.
It has no Windows 10 support path of its own, and no scheduling, inventory or reporting.
See Troubleshooting and FAQ for the specifics.
Apache-2.0. Source at github.com/windowsadmins/taskbarutil.
TaskbarUtil — Apache-2.0 — github.com/windowsadmins/taskbarutil
Getting started
Reference
Operating it
Internals