Upgrading Expo SDK

VerifiedSafe

Guide to safely upgrade Expo SDK versions, handling breaking changes, dependencies, and configuration updates.

Sby Skills Guide Bot
DevelopmentIntermediate
7/26/2026
Claude Code
#expo#react-native#sdk-upgrade#dependency-management#mobile

Recommended for

Automated summary

This skill walks through upgrading an Expo app to a newer SDK version, covering breaking changes, dependencies, and configuration updates.

Strengths

  • Provides a five-step flow from pre-upgrade planning through post-upgrade testing
  • Relies on official Expo tooling (expo install --fix, expo-doctor) instead of generic npm commands
  • Explicitly addresses trouble spots: third-party packages, app.json, and native modules
  • Encourages safe practice with a dedicated branch, backups, and iOS/Android verification

Limitations

  • Contains no version-specific migration details or breaking-change matrix for particular SDK releases
  • Guidance stays high level, with few before/after code examples for deprecated APIs
  • Assumes prior Expo familiarity and does not detail debugging of native build failures
When to use it

Use it when an existing Expo project needs to move to a higher SDK version with minimal regressions.

When not to use it

Avoid it for bootstrapping a new Expo project or for general debugging unrelated to an SDK upgrade.

Security analysis

Safe
Quality score72/100

The skill is a plain-text guide for upgrading Expo SDK versions. Its commands are standard Expo/npm tooling (npx expo install, expo-doctor, npm install -g expo-cli) that operate on the user's own project; there is no piping to shells, no credential access, no obfuscation, and no destructive file operations. The only mild note is a global npm install, which is a normal, reversible environment change.

No concerns found

How this analysis is made

Examples

Upgrade SDK version
Upgrade my Expo app from SDK 51 to SDK 53, handle the breaking changes, and run expo-doctor until it's clean.
Fix dependencies after upgrade
I just bumped expo to the latest SDK and now my third-party packages show peer dependency conflicts — resolve them and verify compatibility with expo install --fix.
Migrate config and APIs
Migrate my app.json and deprecated API calls to match the new Expo SDK requirements, then list what I should test manually on iOS and Android.

name: upgrading-expo description: "Upgrade Expo SDK versions" risk: safe source: "https://github.com/expo/skills/tree/main/plugins/upgrading-expo" date_added: "2026-02-27"

Upgrading Expo

Overview

Upgrade Expo SDK versions safely, handling breaking changes, dependencies, and configuration updates.

When to Use This Skill

Use this skill when you need to upgrade Expo SDK versions.

Use this skill when:

  • Upgrading to a new Expo SDK version
  • Handling breaking changes between SDK versions
  • Updating dependencies for compatibility
  • Migrating deprecated APIs to new versions
  • Preparing apps for new Expo features

Instructions

This skill guides you through upgrading Expo SDK versions:

  1. Pre-Upgrade Planning: Review release notes and breaking changes
  2. Dependency Updates: Update packages for SDK compatibility
  3. Configuration Migration: Update app.json and configuration files
  4. Code Updates: Migrate deprecated APIs to new versions
  5. Testing: Verify app functionality after upgrade

Upgrade Process

1. Pre-Upgrade Checklist

  • Review Expo SDK release notes
  • Identify breaking changes affecting your app
  • Check compatibility of third-party packages
  • Backup current project state
  • Create a feature branch for the upgrade

2. Update Expo SDK

# Update Expo CLI
npm install -g expo-cli@latest

# Upgrade Expo SDK
npx expo install expo@latest

# Update all Expo packages
npx expo install --fix

3. Handle Breaking Changes

  • Review migration guides for breaking changes
  • Update deprecated API calls
  • Modify configuration files as needed
  • Update native dependencies if required
  • Test affected features thoroughly

4. Update Dependencies

# Check for outdated packages
npx expo-doctor

# Update packages to compatible versions
npx expo install --fix

# Verify compatibility
npx expo-doctor

5. Testing

  • Test core app functionality
  • Verify native modules work correctly
  • Check for runtime errors
  • Test on both iOS and Android
  • Verify app store builds still work

Common Issues

Dependency Conflicts

  • Use expo install instead of npm install for Expo packages
  • Check package compatibility with new SDK version
  • Resolve peer dependency warnings

Configuration Changes

  • Update app.json for new SDK requirements
  • Migrate deprecated configuration options
  • Update native configuration files if needed

Breaking API Changes

  • Review API migration guides
  • Update code to use new APIs
  • Test affected features after changes

Best Practices

  • Always upgrade in a feature branch
  • Test thoroughly before merging
  • Review release notes carefully
  • Update dependencies incrementally
  • Keep Expo CLI updated
  • Use expo-doctor to verify setup

Resources

For more information, see the source repository.

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/upgrading-expo-sdk-ms1aw5l6/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/upgrading-expo-sdk-ms1aw5l6' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/upgrading-expo-sdk-ms1aw5l6/download' --output '.skill-downloads/upgrading-expo-sdk-ms1aw5l6/SKILL.md.part' && mv '.skill-downloads/upgrading-expo-sdk-ms1aw5l6/SKILL.md.part' '.skill-downloads/upgrading-expo-sdk-ms1aw5l6/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/upgrading-expo-sdk-ms1aw5l6/SKILL.md' && test -s '.skill-downloads/upgrading-expo-sdk-ms1aw5l6/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/upgrading-expo' && cp -R '.skill-downloads/upgrading-expo-sdk-ms1aw5l6' '.claude/skills/upgrading-expo'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/upgrading-expo-sdk-ms1aw5l6'

openskills read 'upgrading-expo-sdk-ms1aw5l6'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/upgrading-expo-sdk-ms1aw5l6/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills