This reference maps each custom exception to its likely cause and the fastest recovery action.
src/notewise/errors.py and rooted at NoteWiseError.
Exception hierarchy
Exception details
NoteWiseError
Base class for all NoteWise exceptions. Accepts a message and optional keyword context arguments appended to str(error).
ConfigurationError
Raised when the application configuration is invalid or required settings are missing.
Cause: The API key for the selected model is not set.
Resolution:
ValidationError
Raised for invalid user input — malformed YouTube URLs, bad option values, or missing required arguments.
Resolution: Check the URL or option value and try again.
UserVisibleCliError
A structured CLI failure rendered as a Rich panel without a traceback. Contains:
title— the panel headingrows— list of(label, value)tuplesintro— optional introductory text
YouTubeError and subclasses
VideoUnavailableError
Raised when a video requires sign-in, is private, age-restricted, or has been removed.
Resolution: Supply a --cookie-file for sign-in-required content, or verify the video is publicly accessible. See Private Videos.
TranscriptUnavailableError
Raised when no transcript is available in any of the requested languages.
Resolution:
PlaylistError
Raised when a playlist cannot be fetched or enumerated (private playlist, invalid ID).
Resolution: Verify the playlist is public and the ID is correct. For private playlists, supply a --cookie-file.
IPBlockError
Raised when YouTube detects unusual traffic and blocks the request.
Resolution: Reduce YOUTUBE_REQUESTS_PER_MINUTE in your config and retry later.
ExtractionError
General YouTube extraction failure not covered by the more specific subclasses.
Resolution:
LLMGenerationError
Raised when the LLM API call fails after all retries are exhausted (LLM_NUM_RETRIES = 3). Includes a redacted summary of the underlying API error.
Resolution:
PersistenceError
Raised when SQLite read/write operations fail.
Resolution: Run notewise doctor to check cache database health. If the database is corrupted, clear and rebuild it with notewise cache --clear --yes.
Quick triage by symptom
Auth / private access failures
Auth / private access failures
Start with
VideoUnavailableError and PlaylistError. For signed-in resources, provide --cookie-file and retry. See Private Videos.No captions or language mismatch
No captions or language mismatch
Start with
TranscriptUnavailableError:LLM call failures after retries
LLM call failures after retries
Check
LLMGenerationError: validate API key, quota, and model access for the configured provider with notewise config.Unexpected failure not listed here
Unexpected failure not listed here
CLI error handling
Theprocess command maps exceptions to user-visible failure panels. Unhandled exceptions are logged to the session log file and a truncated error panel pointing to the log is shown. The exit code is 1 when any video fails.