BerriAI/litellm · error · RuntimeError

Failed to mark migration {name} as applied after idempotent

Error message

Failed to mark migration {name} as applied after idempotent recovery. Manual intervention may be required.

Detail: {resolve_err}

What it means

RuntimeError raised after an idempotent migration was re-resolved successfully but marking it as applied in the _prisma_migrations ledger failed ('prisma migrate resolve' errored). The migration system state is now inconsistent and needs manual fixing.

Source

Thrown at litellm-proxy-extras/litellm_proxy_extras/utils.py:616

                            try:
                                ProxyExtrasDBManager._roll_back_migration(name)
                            except (
                                subprocess.CalledProcessError,
                                subprocess.TimeoutExpired,
                            ):
                                pass  # may already be rolled-back
                            try:
                                ProxyExtrasDBManager._resolve_specific_migration(name)
                            except (
                                subprocess.CalledProcessError,
                                subprocess.TimeoutExpired,
                            ) as resolve_err:
                                # We're already inside the outer
                                # `except CalledProcessError` handler —
                                # re-raising CalledProcessError from here
                                # would escape as itself, bypassing
                                # proxy_cli.py's `except RuntimeError`.
                                raise RuntimeError(
                                    f"Failed to mark migration {name} as applied "
                                    f"after idempotent recovery. Manual "
                                    f"intervention may be required.\n\n"
                                    f"Detail: {resolve_err}"
                                ) from resolve_err
                            continue
                        raise RuntimeError(
                            "Database migration failed and cannot be auto-recovered. "
                            f"Manual intervention required.\n\nPrisma error:\n{stderr}"
                        ) from e

                    if "P3018" in stderr:
                        if ProxyExtrasDBManager._is_permission_error(stderr):
                            raise RuntimeError(
                                "Database migration failed due to insufficient "
                                "permissions. Please grant the required privileges "
                                f"and retry.\n\nPrisma error:\n{stderr}"
                            ) from e

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Manually run 'prisma migrate resolve --applied {name}' against the database to fix the migrations ledger.
  2. Inspect {resolve_err} for why the ledger update failed.
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at litellm-proxy-extras/litellm_proxy_extras/utils.py:616 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18). Data as JSON: /api/errors/dceec433bf192792. Report an issue: GitHub.