<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Command-Line Interface (CLI) on Navidrome</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/</link><description>Recent content in Command-Line Interface (CLI) on Navidrome</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 13 Sep 2026 20:24:41 -0400</lastBuildDate><atom:link href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/index.xml" rel="self" type="application/rss+xml"/><item><title>navidrome artwork</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/artwork/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/artwork/</guid><description>&lt;p&gt;The &lt;code&gt;artwork&lt;/code&gt; commands tell you why a cover is wrong or an artist image is missing, without opening&#10;the database. They also queue artwork to resolve again, one item at a time or in bulk. See&#10;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/library/artwork/"&gt;Artwork resolution&lt;/a&gt; for how Navidrome picks an image.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome artwork &amp;lt;subcommand&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;flags&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;All commands also accept the &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/#global-flags"&gt;global flags&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="artwork-kinds"&gt;Artwork kinds&lt;a class="td-heading-self-link" href="#artwork-kinds" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;Each kind of artwork has a short code. Not every subcommand accepts every kind.&lt;/p&gt;</description></item><item><title>navidrome backup</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/backup/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/backup/</guid><description>&lt;p&gt;The &lt;code&gt;backup&lt;/code&gt; commands make a copy of the Navidrome database, delete old copies, and restore a copy.&#10;Navidrome can also make backups on a schedule. See &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/backup/"&gt;Automated Backup&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Backups go to the folder in the &lt;code&gt;Backup.Path&lt;/code&gt; setting. Each backup file has a name like&#10;&lt;code&gt;navidrome_backup_2026.04.01_04.00.00.db&lt;/code&gt;, with the date and time it was made.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome backup &amp;lt;subcommand&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;flags&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The alias &lt;code&gt;bkp&lt;/code&gt; works too, so &lt;code&gt;navidrome bkp create&lt;/code&gt; is the same as &lt;code&gt;navidrome backup create&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>navidrome doctor</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/doctor/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/doctor/</guid><description>&lt;p&gt;The &lt;code&gt;doctor&lt;/code&gt; command checks the database for problems. It only reads the database and never changes&#10;your data. Run it when Navidrome logs errors such as &lt;code&gt;database disk image is malformed&lt;/code&gt;, or when&#10;every scan fails.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome doctor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="flags"&gt;Flags&lt;a class="td-heading-self-link" href="#flags" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;code&gt;doctor&lt;/code&gt; has no flags of its own. It accepts the &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/#global-flags"&gt;global flags&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="examples"&gt;Examples&lt;a class="td-heading-self-link" href="#examples" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Check the database&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome doctor&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Stop a script when the database has problems&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome doctor &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Check the database with Docker Compose&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose run --rm navidrome doctor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="what-it-checks"&gt;What it checks&lt;a class="td-heading-self-link" href="#what-it-checks" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;p&gt;&lt;code&gt;doctor&lt;/code&gt; runs two checks.&lt;/p&gt;</description></item><item><title>navidrome inspect</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/inspect/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/inspect/</guid><description>&lt;p&gt;The &lt;code&gt;inspect&lt;/code&gt; command prints the tags of one or more music files, the way Navidrome reads them. Use&#10;it when an album shows up split in two, or a tag you set doesn&amp;rsquo;t appear in Navidrome. For each file&#10;it prints the raw tags stored in the file and the mapped tags Navidrome uses. See&#10;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/library/tagging/"&gt;Tagging&lt;/a&gt; for how Navidrome maps tags.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome inspect &lt;span class="o"&gt;[&lt;/span&gt;flags&lt;span class="o"&gt;]&lt;/span&gt; &amp;lt;file&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;&amp;lt;file&amp;gt;...&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;All commands also accept the &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/#global-flags"&gt;global flags&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>navidrome missing</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/missing/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/missing/</guid><description>&lt;p&gt;The &lt;code&gt;missing&lt;/code&gt; commands list files marked as missing, and remap a missing file onto an existing one.&lt;/p&gt;&#10;&lt;p&gt;The scanner marks a file missing when it no longer finds it on disk. When you rename or move a file,&#10;the scanner normally reconnects it and carries over play counts, ratings, starred status, and&#10;bookmarks. If the scanner can&amp;rsquo;t match the two files, the old entry stays missing and the new file&#10;starts with no history. &lt;code&gt;missing fix&lt;/code&gt; does that remap by hand.&lt;/p&gt;</description></item><item><title>navidrome plugin</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/plugin/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/plugin/</guid><description>&lt;p&gt;The &lt;code&gt;plugin&lt;/code&gt; commands list, check, configure, enable, and disable plugins. They do the same things as&#10;the plugin screens in the web UI. See &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/features/plugins/"&gt;Plugins&lt;/a&gt; for how the plugin&#10;system works.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome plugin &amp;lt;subcommand&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;flags&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;All commands also accept the &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/#global-flags"&gt;global flags&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Commands that work with installed plugins need the plugin system enabled. &lt;code&gt;Plugins.Enabled&lt;/code&gt; is on&#10;by default. You can still use &lt;code&gt;plugin info&lt;/code&gt; and &lt;code&gt;plugin validate&lt;/code&gt; on a &lt;code&gt;.ndp&lt;/code&gt; package file when the&#10;plugin system is disabled.&lt;/p&gt;</description></item><item><title>navidrome pls</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/pls/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/pls/</guid><description>&lt;p&gt;The &lt;code&gt;pls&lt;/code&gt; commands list playlists, export them to M3U files, and import M3U files as playlists.&lt;/p&gt;&#10;&lt;p&gt;Navidrome also imports M3U files it finds in your library when it scans. You don&amp;rsquo;t need&#10;&lt;code&gt;pls import&lt;/code&gt; for those. See &lt;code&gt;AutoImportPlaylists&lt;/code&gt; and &lt;code&gt;PlaylistsPath&lt;/code&gt; in&#10;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/configuration/options/"&gt;Configuration Options&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome pls --playlist &amp;lt;name-or-id&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;--output &amp;lt;file&amp;gt;&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome pls &amp;lt;subcommand&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;flags&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;pls&lt;/code&gt; with no subcommand exports one playlist. &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/pls/#pls-export"&gt;&lt;code&gt;pls export&lt;/code&gt;&lt;/a&gt; does the same, and it&#10;can also export many playlists at once.&lt;/p&gt;</description></item><item><title>navidrome scan</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/scan/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/scan/</guid><description>&lt;p&gt;The &lt;code&gt;scan&lt;/code&gt; command scans your music library for new, changed, and removed files. Use it to start a&#10;scan from a script, to force a full scan, or to scan only some folders.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome scan &lt;span class="o"&gt;[&lt;/span&gt;flags&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;All commands also accept the &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/#global-flags"&gt;global flags&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="flags"&gt;Flags&lt;a class="td-heading-self-link" href="#flags" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Flag&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Default&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;-f, --full&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Check all folders and ignore modification times&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;-t, --target&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Scan only this folder, as a &lt;code&gt;libraryID:folderPath&lt;/code&gt; pair. Repeatable&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;--target-file&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;File with folders to scan, one &lt;code&gt;libraryID:folderPath&lt;/code&gt; pair per line&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;Navidrome also has a &lt;code&gt;--subprocess&lt;/code&gt; flag. The server uses it to run scans, so don&amp;rsquo;t pass it&#10;yourself.&lt;/p&gt;</description></item><item><title>navidrome search</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/search/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/search/</guid><description>&lt;p&gt;The &lt;code&gt;search&lt;/code&gt; command maintains the full-text search index.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome search &amp;lt;subcommand&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;flags&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;All commands also accept the &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/#global-flags"&gt;global flags&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="subcommands"&gt;Subcommands&lt;a class="td-heading-self-link" href="#subcommands" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Subcommand&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/search/#search-rebuild"&gt;&lt;code&gt;rebuild&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Delete the search index and build it again from the library data&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h3 id="search-rebuild"&gt;&lt;code&gt;search rebuild&lt;/code&gt;&lt;a class="td-heading-self-link" href="#search-rebuild" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;Deletes the full-text search index and builds it again from your library data. The index only holds&#10;copies of data stored elsewhere in the database, so you lose nothing. Navidrome checks the new index&#10;before it saves it.&lt;/p&gt;</description></item><item><title>navidrome service</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/service/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/service/</guid><description>&lt;p&gt;The &lt;code&gt;service&lt;/code&gt; commands install Navidrome as a service in your OS service manager, then start, stop,&#10;and check it. The service manager is systemd on most Linux systems, launchd on macOS, and the&#10;Service Control Manager on Windows. &lt;code&gt;navidrome service --help&lt;/code&gt; shows the one your system uses.&lt;/p&gt;&#10;&lt;p&gt;The installation guides for &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/installation/linux/"&gt;Linux&lt;/a&gt;, &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/installation/macos/"&gt;macOS&lt;/a&gt;,&#10;and &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/installation/windows/"&gt;Windows&lt;/a&gt; show the full setup.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome service &amp;lt;subcommand&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;flags&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The alias &lt;code&gt;svc&lt;/code&gt; works too, so &lt;code&gt;navidrome svc status&lt;/code&gt; is the same as &lt;code&gt;navidrome service status&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>navidrome user</title><link>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/user/</link><pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate><guid>https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/user/</guid><description>&lt;p&gt;The &lt;code&gt;user&lt;/code&gt; commands create, edit, list, and delete Navidrome users.&lt;/p&gt;&#10;&lt;p&gt;These commands need at least one admin user in the database. On a new install, create the first&#10;admin in the web UI.&lt;/p&gt;&#10;&lt;h2 id="usage"&gt;Usage&lt;a class="td-heading-self-link" href="#usage" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;navidrome user &amp;lt;subcommand&amp;gt; &lt;span class="o"&gt;[&lt;/span&gt;flags&lt;span class="o"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;All commands also accept the &lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/#global-flags"&gt;global flags&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="subcommands"&gt;Subcommands&lt;a class="td-heading-self-link" href="#subcommands" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h2&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Subcommand&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Alias&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Description&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/user/#user-create"&gt;&lt;code&gt;create&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;c&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Create a user&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/user/#user-edit"&gt;&lt;code&gt;edit&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;e&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Change a user&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/user/#user-list"&gt;&lt;code&gt;list&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;List users&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://pr-496.navidrome-website.pages.dev/docs/usage/admin/cli/user/#user-delete"&gt;&lt;code&gt;delete&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Delete a user&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h3 id="user-create"&gt;&lt;code&gt;user create&lt;/code&gt;&lt;a class="td-heading-self-link" href="#user-create" aria-label="Heading self-link"&gt;&lt;/a&gt;&#10;&lt;/h3&gt;&lt;p&gt;Creates a user. The command asks for the password twice. Press Enter with no password to cancel.&#10;There is no flag for the password, so run the command in a terminal. With &lt;code&gt;docker run&lt;/code&gt;, add &lt;code&gt;-it&lt;/code&gt;.&lt;/p&gt;</description></item></channel></rss>