# Play: version code has already been used

> Getting the error “version code has already been used”? Here is how to fix it. Google Play keeps every version code it has ever seen, on every track.

**Play: version code has already been used.** Every upload to Google Play needs a higher versionCode than any build Play has seen, in every track.

- Google Play. This version code was already uploaded.
- Interactive page: https://capwr.app/free-tools/build-error-explainer/version-code-has-already-been-used
- Build error explainer: https://capwr.app/free-tools/build-error-explainer
- Last updated: 2026-10-03

## What this error means

Every upload to Google Play needs a higher versionCode than any build Play has seen, in every track.

## Why it happens

Google Play keeps every versionCode that was ever uploaded, on every track. Reusing one is rejected even if that earlier release was discarded.

## The message tools print

```
Google Api Error: Invalid request - Version code 12 has already been used.
```

## How to fix it

1. Raise versionCode in android/app/build.gradle and build again.
2. Automate it from the latest code on Play. CapWrapp bumps it on every ship.

## Check a log that shows this

Paste the failing step into the [build error explainer](https://capwr.app/free-tools/build-error-explainer). It matches this message, and any others in the same log, in your browser. Nothing is uploaded.

## Other Google Play errors

- [Android App Bundle is signed with the wrong key](https://capwr.app/free-tools/build-error-explainer/app-bundle-signed-with-the-wrong-key)
- [Play: bundle was signed in debug mode](https://capwr.app/free-tools/build-error-explainer/signed-in-debug-mode)
- [Google Play: Package not found](https://capwr.app/free-tools/build-error-explainer/package-not-found)
- [Play: the caller does not have permission](https://capwr.app/free-tools/build-error-explainer/caller-does-not-have-permission)
- [Play: app must target a higher API level](https://capwr.app/free-tools/build-error-explainer/must-target-api-level)

## Upload the next Play build without this error

CapWrapp bumps the version code on every ship and uploads the release bundle to Google Play. The first Play upload is still by hand — after that, ships go through the service account.

[Get started free](https://capwr.app/login).

## About CapWrapp

CapWrapp turns a web app on GitHub — built with Lovable, Bolt, Base44, Cursor or by hand — into iPhone and Android apps. It adds Capacitor if the repo needs it, signs the builds, and ships them to TestFlight and Google Play from GitHub Actions, with no Mac or Xcode on your side. [Get started free](https://capwr.app/login) · [Lovable to App Store guide](https://capwr.app/guides/lovable-to-app-store)
