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
⚠️ 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
- 1If 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).
- 2If 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