Why Did My Migration Fail?
When a shinyapps.io migration shows Failed, the application was copied to Connect Cloud but could not be published there. Your original application on shinyapps.io is untouched and keeps running.
Migration copies the bundle from your application’s most recent successful deployment on shinyapps.io and publishes it as new content on Connect Cloud. That bundle is published exactly as it is, including the manifest.json or requirements.txt recorded when you last deployed. Most failures come from something in the bundle that Connect Cloud cannot reproduce today.
Start with the Publish Log
The publish log says which step failed and why. It is the first thing to read.
- On the Admin → shinyapps.io page, find the failed application.
- Click See Logs next to it to open the publish log for the migrated content.
- Read the last lines of the log. The final error names the problem.
If you see a Check Errors button, you can also use Error Assist to summarize the log for you.
The sections below cover the errors we see most often, in the order they occur most.
A Package Could Not Be Downloaded or Installed
Look for one of these lines near the end of the log:
Download of the <package> package has failed. Check your manifest.json or renv.lock.Package <package> <version> cannot be found in <source>. Check your manifest.json or renv.lock.Stopping because installation of <package> failed. Check your manifest.json or renv.lock.
This is the most common migration failure. Connect Cloud installs the exact package versions your bundle recorded, from the repositories your bundle recorded. The install fails when one of those packages is no longer available or cannot be built.
Common causes:
- The pinned version does not build on Connect Cloud. The version your bundle recorded is still available, but its source does not compile against the operating system Connect Cloud runs or against the R version the migrated content uses. This is most likely when the application ran on an older operating system or an older R version on shinyapps.io.
- The package comes from GitHub and no GitHub App is linked to your account. Connect Cloud clones Git-hosted R packages using the GitHub App installed on your account. A migrated bundle has no repository of its own, so with no App linked there is no token to use and every GitHub-sourced package fails, whether its repository is public or private.
- The package comes from a repository that needs credentials. Connect Cloud fetches R packages from CRAN and Python packages from PyPI by default, and it uses any custom repository your dependency file names. It cannot sign in to one, so a package served only from an internal repository behind a login cannot be installed.
- The manifest records the wrong repository for a Bioconductor package. Older versions of rsconnect wrote a CRAN URL for packages installed from Bioconductor. Connect Cloud cannot find the package at that URL.
- A base R package is listed as a CRAN package. Packages that ship with R, such as
utils, cannot be downloaded from CRAN.
How to Fix It
Clicking Try again re-copies the bundle that is deployed on shinyapps.io right now, so it fails the same way until that bundle changes. Refresh the dependencies first:
- Update the packages in your project locally, and confirm the application still runs.
- Regenerate
manifest.json(see manifest.json) orrequirements.txt(see requirements.txt). - Publish the updated application straight to Connect Cloud. Alternatively, deploy it to shinyapps.io first and then click Try again.
Publishing straight to Connect Cloud creates new content that is not attached to the migration, so Finalize stays unavailable for the application: its shinyapps.io URL is not redirected and the original is not archived. To keep the migration finalizable, either deploy to shinyapps.io and click Try again, or republish into the migrated content itself — see If a Migration Keeps Failing.
Replace any dependency that Connect Cloud cannot reach on its own. Link a GitHub App to your account and grant it access to the repositories your GitHub-sourced packages come from, move packages from a private repository to a public one, or vendor them into your project.
Connect Cloud supports R 4.0.0 through 4.6.0 and Python 3.9 through 3.14. See R and Python. If your application was flagged with an Unsupported R version or Unsupported Python version migration warning, it runs on R 4.0.5 or Python 3.9, and packages pinned for the older version it used on shinyapps.io may not install there.
Your Application Failed to Start
Look for this line near the end of the log:
Your application failed to start.
The packages installed and the content deployed, but the application raised an error while it was loading. The lines above this message come from your own code and usually name the cause.
Common causes:
- Code that runs at startup, outside the server function, raised an error.
- A database or API the application connects to is not reachable from Connect Cloud. If it sits behind a firewall, allow Connect Cloud’s outbound IP addresses.
- The application calls
install.packages()while it runs. Connect Cloud does not support this. See Known issues. - The application depends on a file path or a system package that existed on shinyapps.io but not on Connect Cloud. All content runs on Ubuntu 22.04; see System for the packages installed.
Fix the error in your project, redeploy to shinyapps.io, then click Try again. Or publish the corrected application straight to Connect Cloud.
The Bundle Is Too Large
A migration that fails with an empty publish log may have stopped before publishing began.
Migration uploads your shinyapps.io bundle, so the bundle size limit for your plan applies: 1 GiB on the Free plan and 5 GiB on all others. A bundle over that limit is rejected during the upload, which happens before the publish starts — so there is nothing in the publish log to read.
To fix it, remove files the application does not need to run — large raw datasets are the usual cause — redeploy to shinyapps.io, then click Try again. You can also contact us to ask for a higher limit.
Something Went Wrong on Our Side
Some failures are ours, not your application’s. Two you can act on:
- The content is marked for deletion. You deleted the migrated content and started a new migration before the deletion finished. Wait a few minutes and click Try again.
- The migration timed out. Click Try again.
For anything else that does not name a problem in your content, click Try again once. If it fails the same way, contact us with the application name, your Connect Cloud account, and roughly when the migration ran.
If a Migration Keeps Failing
Rather than repairing an old bundle, republish the migrated content from your current project. The migrated content stays linked to your shinyapps.io application, so you can still finalize it and keep the redirect from your old URL.
- With the Publisher extension in Positron or VS Code, deploy to the existing content instead of creating new content.
- From your console or terminal, pass the content’s ID:
rsconnect deploy shiny Dashboard \
--name "<NAME_OF_YOUR_ACCOUNT_CREDENTIAL>" \
--app-id "<content-id>"rsconnect::deployApp(appDir = "Dashboard", appId = "<content-id>")Find the ID in the content page’s URL: https://connect.posit.cloud/{account}/content/{content-id}.
Publishing to Connect Cloud as new content also works, but new content is not linked to your shinyapps.io application: it cannot be finalized, and your old URL does not redirect to it.