Shift with red gradient lettering

Frequently Asked Questions

Does Shift upgrade everything?

Not everything.

Shift attempts to upgrade your Laravel application so you just need to run composer update. However, given the dynamic nature of PHP, the infinite possibilities of code customizations, and changes within third-party dependencies, this is not always possible. When Shift can not reliably perform a change, a detailed comment will be added to the Pull Request for you to review.

Does Shift do more than the Laravel Upgrade Guide?

Yes. A lot more.

The Laravel Upgrade Guide focuses on new features and breaking changes, treating the rest as optional. Over time, only following the steps outlined in the Laravel Upgrade Guide will accumulate technical debt.

Shift upgrades all changes. This ensures your project is fully up-to-date with your version of Laravel and there are no future surprises. The goal is for your project to be as if it were running that version of Laravel all along.

Can I upgrade multiple versions at once?

To improve context and focus, Shifts are run incrementally. Doing so allows you to verify each upgrade to ensure you don't miss anything.

For tips on completing Shifts efficiently and running multiple Shifts, watch the Reviewing the Shift Pull Request and Upgrading old Laravel applications videos.

What if my project is not on Bitbucket/GitHub/GitLab?

Currently, these are the services which allow you to quickly connect your Laravel application to Shift.

All of these services offer free private repositories. You may always push a temporary copy of your repository to one of these services in order to run Shift.

Why does Shift need write access to my repositories?

Shift requires write access to create a new branch and open a Pull Request. This allows the process to be seamlessly automated from start to finish.

Once you merge the Pull Request, you are welcome to deauthorize the Laravel Shift application.

Does Shift keep a copy of my code?


Your code only lives on the Shift server while the upgrade process is running - less than a minute on average. After it completes, your code is forcefully removed from the Shift server. We're talking rm -rf *.

What if my boss/client/legal/paranoia won't let me share my project?

Some code comes with policies or agreements which prevent you from sharing it in any way.

That's why there's Shift for Docker - so you may run any Shift against one of your Laravel applications locally.

Can I pay with PayPal?


Simply start your order process. Once you reach checkout, send payment via PayPal to and include your Shift number.

Can I run the same Shift more than once?

All Shifts are single use. This is by design. For example, you don't need to upgrade to Laravel 8 twice.

Of course if there is an issue, or you believe the automation might be improved by making some changes first, you may request a rerun by sending your Shift number to

How can I change the code formatting Shift applies?

Some Shifts automatically apply the Laravel code style to your code. This helps improve the automation by ensuring a consistent code format.

Of course code style can be a very personal choice. You may configure Shift to apply your own code style by adding a PHP Code Sniffer or PHP CS Fixer ruleset in the project root folder. Shift will automatically detect and use this file when formatting code.

For more details, watch our short video on customizing the code style.

What if my project is in a subfolder or I have multiple projects in my repository?

Shift will automatically find your project based on the location of common files. For example, for Laravel projects Shift will look for artisan. For Tailwind projects, it will look for tailwind.config.js.

If you have restructured your project or have multiple projects within your repository, you may control which one Shift chooses by creating a .shiftrc file in the project folder. This file does not need to contain any configuration options. The presence of this file alone is enough to configure Shift.

What if something goes wrong?

If a Shift fails, you will receive immediate feedback on how to resolve the problem yourself. Once you have, you may rerun your Shift again. If the rerun fails, you may contact support to take a look.

What is the refund policy?

Any pending Shift or unused subscription purchased within the last 30 days is eligible for a refund, less the payment processing fees.

Any completed Shift or used subscription purchased within the last 14 days may be eligible for a partial refund based on usage.

You may contact support with your order information to request a refund.

How may I contact Shift for additional support?

For basic support feel free to message @laravelshift on Twitter or email

If you want hands-on support with upgrading your application, Laravel, or PHP, check out the Human Shifts.

Still have questions?

No problem! Try browsing our Shifty Videos for demos of Shift's services, or email your question to

Sign in with any of the following services to connect Shift with your Laravel project.

Don't use one of these services?

Temporarily push your project to a free, private repository on one of these cloud-based services or upgrade your project locally with Shift for Docker.