Change8

Migrating to HuggingFace Hub v1.20.0.rc0

Version v1.20.0.rc0 introduces 2 breaking changes. This guide details how to update your code.

Released: 6/18/2026

2
Breaking Changes
2
Migration Steps
16
Affected Symbols

⚠️ Check Your Code

If you use any of these symbols, you need to read this guide:

`hf auth login``login()` (Python)`get_token()``hf auth list``notebook_login()``hf upload``upload_folder``hf upload-large-folder``HfApi.wait_for_job``hf jobs wait``hf jobs run``hf jobs uv run``hf jobs ssh``JobNotFoundError``hf_raise_for_status``create_inference_endpoint`

Breaking Changes

Issue #1

Non-detached `hf jobs run` / `hf jobs uv run` now exit with the Job's outcome (exit code 1 if the Job errored) instead of always exiting 0. Scripts relying on the previous behavior (always exiting 0) must be updated to check the job status or rely on the new exit code.

Issue #2

Uploading a folder via `upload_folder` or `hf upload` might result in multiple commits. If `create_pr=True` is passed, it will necessarily create a PR against main, even if some changes have been committed (previously an empty commit resulted in no PR).

Migration Steps

  1. 1
    If you rely on `hf jobs run` or `hf jobs uv run` always exiting with code 0 when running detached jobs, update scripts to check the job status explicitly or handle the new exit code (1 on error).
  2. 2
    If you use `upload_folder` with `create_pr=True`, be aware that a PR will always be created against main if any changes are uploaded.

Release Summary

This release introduces browser-based OAuth login as the default authentication method and significantly overhauls large folder uploads using a streamed, multi-commit pipeline powered by Xet. Additionally, Hugging Face Jobs now support waiting for completion, SSH access, and cleaner error reporting.

Need More Details?

View the full release notes and all changes for HuggingFace Hub v1.20.0.rc0.

View Full Changelog