.How do I run Shopware 6 updates via CLI (composer + bin/console)?
Quick Answer
You can update Shopware 6 from the command line by running Composer package updates followed by the required bin/console update commands. The safe process is: create a backup, switch to maintenance mode, update dependencies, run database migrations, clear caches, and verify plugins before reopening the store. The steps below show the full CLI workflow most production stores use.
Before You Start
- ✦ SSH access to the server — you’ll need terminal access to run Composer and Shopware CLI commands.
- ✦ A complete database backup — failed updates usually break during migrations, not package downloads.
- ✦ Plugin compatibility checks — third-party plugins are the main reason Shopware updates fail.
- ✦ Maintenance window planning — even small patch updates can trigger theme recompiles and cache rebuilds.
Enable maintenance mode
Put the store into maintenance mode before touching Composer dependencies. This prevents incomplete pages, failed checkouts, and cache corruption while migrations are running. Most stores skip this during patch releases—then wonder why customers hit random 500 errors during deployment.
- Create a fresh database backup
- Enable maintenance mode before updating packages
php bin/console sales-channel:maintenance:enableUpdate Composer packages
Run Composer updates from the Shopware project root. For production stores, target the exact Shopware version instead of blindly running full dependency upgrades. That keeps unrelated package changes out of the deployment and makes rollback far easier if something breaks.
- Check the target Shopware version first
- Run Composer from the project root directory
- Commit composer.json and composer.lock changes
composer update shopware/core shopware/storefront \
shopware/administration --with-all-dependenciesRun Shopware migrations
After package updates finish, execute Shopware’s system update process. This applies database migrations, updates plugin schemas, and syncs internal platform changes. If you stop after Composer, the codebase and database structure will not match.
- Run pending migrations immediately after Composer
- Watch for plugin-related migration failures
php bin/console system:update:prepare
php bin/console system:update:finishClear caches and rebuild
Shopware stores a large amount of compiled cache data. After updates, old cache files can cause broken storefront assets, missing admin components, or random Twig errors. Clearing and warming caches ensures the updated codebase is fully rebuilt.
- Clear caches after every update
- Recompile themes if storefront assets changed
php bin/console cache:clear
php bin/console theme:compileVerify plugins and reopen
Before disabling maintenance mode, test the storefront, checkout, admin panel, and all critical plugins. Pay special attention to payment methods, ERP integrations, and custom themes. A Shopware update is not finished when Composer succeeds—it’s finished when real customer flows still work.
- Test checkout with a real payment method
- Review plugin status in the admin panel
- Disable maintenance mode after validation
php bin/console sales-channel:maintenance:disableShopware Update Checklist
0 of 7 completeMistakes Most Developers Make
! Updating directly on production
What happens: Plugin conflicts or migration failures take the live store offline during trading hours.
Fix: Test the full update flow on staging before touching production servers.
! Skipping plugin compatibility checks
What happens: The Shopware core updates correctly but third-party plugins crash the storefront afterward.
Fix: Confirm plugin support for the target Shopware version before running Composer updates.
! Forgetting theme recompilation
What happens: The admin works but storefront CSS and JavaScript break because old assets are still cached.
Fix: Always run cache clears and theme compilation after updates touching storefront packages.
Key Takeaway
The short version: updating Shopware 6 via CLI is mostly a controlled deployment process. Composer updates the codebase, while the bin/console commands apply migrations, rebuild caches, and sync platform changes. Most failures come from plugin conflicts, skipped backups, or incomplete cache rebuilds—not from Shopware core itself. Test updates on staging first, keep rollback snapshots available, and always validate checkout flows before reopening the store. Start with Step 1—that one alone handles most of it.
Related Answers
Still need help?
Talk to our Shopware experts
We've handled GDPR/CCPA compliance for dozens of EU & US Shopware stores.