The Acorn upgrade guide notes:
If any packages/dependencies have conflicts while updating, try removing and then re-requiring them after Acorn is bumped to 6.x.
This is something I’ve regularly had to deal with, especially on the Roots site that uses several Laravel packages… the manual back-and-forth wasn’t fun
Agents can surface every conflict up front and resolve them all in one composer require call
Here’s a prompt you can drop into your agent of choice from the root of a Bedrock/Radicle site:
Upgrade this site from Acorn v5 to v6 following https://roots.io/acorn/docs/upgrading-acorn/. Don’t use the remove/re-require workaround from the guide. Instead:
- If
config/logging.phpexists and thestderrchannel useswith, rename it tohandler_with.- If
MAIL_ENCRYPTIONis set in.env, rename toMAIL_SCHEMEand bumproots/acorn-mailto^2.0if present.- Run
composer require roots/acorn ^6.0 illuminate/contracts ^13.0 -W --dry-runfirst — pinning illuminate/contracts forces composer to print every direct-dep conflict at once instead of stopping at the first.- For each locked direct dep that’s blocking the upgrade, check whether its current constraint in composer.json already permits a Laravel-13-compatible release (
composer show -a <pkg>and inspect newer versions’ illuminate requirements). If yes, just add the package to thecomposer requirecommand using its existing constraint — that unlocks it. If the new compatible release requires a major bump, update the constraint.- Run the combined
composer requirefor real, then bump composer.json constraints up to the installed versions andcomposer update --lock(orcomposer update <one-pkg>if security-advisories blocks a stale transitive). Finish withwp acorn config:clear && wp acorn optimize:clear.Don’t touch
.envcache/session/redis prefixes — flag them in the summary instead so I can decide.
Claude Code suggested the prompt above. My initial prompt was this simple, and Claude Code ended up doing everything noted in the prompt above on its own:
We’re on Acorn v5 and need to upgrade to v6 —this is the upgrade guide: https://roots.io/acorn/docs/upgrading-acorn/
Claude Code was able to bump the affected packages for Laravel v13 support that we use:
codeat3/blade-simple-iconsblade-ui-kit/blade-iconsblade-ui-kit/blade-heroiconscodeat3/blade-line-awesome-iconsdavidhsianturi/blade-bootstrap-iconsgraham-campbell/markdownlaravel/socialite
It ended up using a single composer require to handle the upgrade, and for sites with a lot of Laravel packages it’s a nice time saver