Shopware — The Shopware 6 bin/console CLI
Shopware 6 command-line interface (bin/console). Manage plugins, themes, cache, indexing, users, sales channels, and system configuration for Shopware 6 stores.
Shopware 6 is a Symfony-based open-source e-commerce platform that you can drive almost entirely from the bin/console command line. From clearing caches to managing plugins and themes, running indexing, migrations, and maintenance work, operating your store comes down to exactly these commands. This guide collects the most important bin/console commands for upkeep, deployment, and troubleshooting – from daily routine to full system updates.
General & Info
bin/console list — List all available commands.
bin/console listbin/console about — Show Shopware and Symfony version info.
bin/console aboutbin/console system:info — Show system information and requirements check.
bin/console system:infobin/console system:config:get <key> — Get a system configuration value.
bin/console system:config:get core.basicInformation.shopNamebin/console system:config:set <key> <value> — Set a system configuration value.
bin/console system:config:set core.basicInformation.shopName 'My Shop'Cache & Build
bin/console cache:clear — Clear the application cache.
bin/console cache:clearbin/console cache:warmup — Warm up the cache.
bin/console cache:warmupbin/console http:cache:warm:up — Warm up the HTTP cache (reverse proxy).
bin/console http:cache:warm:upbin/console theme:compile — Compile theme assets (CSS, JS).
bin/console theme:compilebin/console theme:refresh — Refresh theme configuration.
bin/console theme:refreshbin/console theme:dump — Dump theme configuration for debugging.
bin/console theme:dumpbin/console assets:install — Install bundle and plugin assets to the public directory.
bin/console assets:installPlugin Management
bin/console plugin:list — List all plugins and their status.
bin/console plugin:listbin/console plugin:install <name> — Install a plugin.
bin/console plugin:install MyPluginbin/console plugin:install --activate <name> — Install and activate a plugin in one step.
bin/console plugin:install --activate MyPluginbin/console plugin:activate <name> — Activate an installed plugin.
bin/console plugin:activate MyPluginbin/console plugin:deactivate <name> — Deactivate a plugin.
bin/console plugin:deactivate MyPluginbin/console plugin:update <name> — Update a plugin.
bin/console plugin:update MyPluginbin/console plugin:uninstall <name> — Uninstall a plugin.
bin/console plugin:uninstall MyPluginbin/console plugin:refresh — Refresh the plugin list (detect new plugins).
bin/console plugin:refreshIndexing & Data
bin/console dal:refresh:index — Refresh the Data Abstraction Layer index.
bin/console dal:refresh:indexbin/console es:index — Reindex Elasticsearch / OpenSearch.
bin/console es:indexbin/console es:reset — Reset and recreate Elasticsearch indices.
bin/console es:resetbin/console es:status — Show Elasticsearch index status.
bin/console es:statusbin/console product:index — Reindex products (variant listing, cheapest price, etc.).
bin/console product:indexbin/console media:generate-thumbnails — Generate thumbnails for all media files.
bin/console media:generate-thumbnailsbin/console media:delete-unused — Delete media files that are not referenced anywhere.
bin/console media:delete-unusedUsers & Sales Channels
bin/console user:create <username> — Create a new admin user.
bin/console user:create admin --admin --email=admin@example.com --password=secretbin/console user:change-password <username> — Change an admin user's password.
bin/console user:change-password adminbin/console user:list — List all admin users.
bin/console user:listbin/console sales-channel:list — List all sales channels.
bin/console sales-channel:listbin/console sales-channel:create:storefront — Create a new Storefront sales channel.
bin/console sales-channel:create:storefront --name='My Store' --url='https://myshop.com'bin/console sales-channel:maintenance:toggle <id> — Toggle maintenance mode for a sales channel.
bin/console sales-channel:maintenance:toggle <sales-channel-id>Queue & Scheduled Tasks
bin/console messenger:consume async — Process messages from the async queue.
bin/console messenger:consume async --time-limit=60bin/console messenger:consume async --limit=<n> — Process a limited number of messages.
bin/console messenger:consume async --limit=50bin/console messenger:failed:show — Show failed messages.
bin/console messenger:failed:showbin/console messenger:failed:retry — Retry all failed messages.
bin/console messenger:failed:retrybin/console scheduled-task:run — Run all due scheduled tasks.
bin/console scheduled-task:runbin/console scheduled-task:list — List all registered scheduled tasks and their status.
bin/console scheduled-task:listSetup & Maintenance
bin/console system:setup — Interactive system setup (database, URL, etc.).
bin/console system:setupbin/console system:install — Install Shopware (create database schema, import base data).
bin/console system:install --basic-setupbin/console system:update:prepare — Prepare the system for an update (enable maintenance).
bin/console system:update:preparebin/console system:update:finish — Finish the update process (disable maintenance).
bin/console system:update:finishbin/console database:migrate --all — Run all pending database migrations.
bin/console database:migrate --allbin/console database:migrate-destructive --all — Run destructive migrations (column drops, etc.).
bin/console database:migrate-destructive --allbin/console sitemap:generate — Generate XML sitemaps for all sales channels.
bin/console sitemap:generatebin/console debug:router — List all registered routes.
bin/console debug:router Conclusion
With bin/console you hold the entire lifecycle of a Shopware 6 store in your hands: rebuild caches and themes, manage plugins, maintain indices, and run updates. For day-to-day work, cache:clear, theme:compile, and dal:refresh:index are the backbone – they run after nearly every configuration or code change.
Take care with anything that touches the database or the system: only run database:migrate, database:migrate-destructive, and system:update:* with a fresh backup in place, because destructive migrations drop columns irreversibly. Before migrations, enable maintenance via system:update:prepare or the sales-channel maintenance mode so customers don't land in a half-migrated database. system:setup writes your .env and overwrites existing credentials – check what is already configured first.
Further Reading
- Shopware Developer Documentation – official developer docs with CLI and console reference
- shopware.com – vendor site with product and edition information