That specific error — "error downloading source code... may not be a valid notebook or may be an unsupported version" — comes from the Apps source-sync step's nbformat validation, which is stricter than the normal Workspace notebook viewer/downloader. A few things commonly trigger it even though the notebook opens fine elsewhere:
- nbformat/nbformat_minor mismatch — if the notebook was last touched by an external tool (VS Code, JupyterLab, an export pipeline) it may have bumped nbformat_minor to a version the Apps sync parser doesn't recognize, even though the classic notebook viewer is more lenient.
- Non-standard cell metadata or outputs — large/binary outputs (embedded images, widgets) or custom metadata keys can trip a stricter JSON schema check.
- Encoding — a BOM or non-UTF-8 byte in the file (especially if it was ever edited outside Databricks) can cause this.
Quickest way to isolate it: download the .ipynb, run "jupyter nbconvert --to notebook --clear-output <file>.ipynb -o cleaned.ipynb" (normalizes nbformat and strips outputs/metadata), re-upload the cleaned version, and point the App at that. If that fixes it, the culprit was stale metadata rather than content. If it still fails on a freshly-normalized file, that's worth a support ticket — it'd point to a regression in the App's sync step rather than the notebook itself.