Skip to main content
Run notewise COMMAND --help for command-specific flags. The command set is defined in src/notewise/cli/app.py.

Main commands

Prompted arguments

Several commands accept their main argument as optional: leave it out and NoteWise prints a numbered list (when there’s a list to choose from) or a plain prompt, then reads your answer instead of failing with a usage error. This applies to notewise process, notewise transcript, notewise config get/set/unset, notewise cache show, and notewise inference add/update/delete (see Inference endpoints below). Sensitive values, such as config set for an API key or inference add/update --api-key, are always prompted with hidden input rather than left in shell history.

Process command

Important flags: --model, --base-url, --api-key, --output, --format, --language, --target-language, --temperature, --max-tokens, --throttle, --force, --no-ui, --verbose, --quiz, --export-transcript, --timestamps, --chapter-directory-output, and --cookie-file.

Custom endpoint run overrides

Set up named custom endpoints with notewise setup, then select one through its <name>/<model-id> model name. --base-url sends only the current process run to a different OpenAI-compatible URL:
Both flags are transient: they do not update config.db or ambient environment variables. --base-url takes precedence for the request URL. An explicitly passed --api-key takes precedence for the request key; otherwise, NoteWise reuses a saved profile key only when the normalized URL is the profile’s saved origin. Supply --api-key whenever --base-url changes that origin.

Inference endpoints

Saved custom endpoints use a model name in the form <name>/<model-id>. Manage those profiles with the inference command group:
list displays each saved endpoint’s name and base URL, never its API key. add and delete are fully interactive: any argument or option left out is prompted for instead of erroring. update is interactive when <name> is omitted; when <name> is passed on the command line, it still requires --base-url, --api-key, or both.
  • add prompts for a name, base URL, and (hidden-input) API key when they’re omitted. If --model is omitted, it launches the same paginated, searchable model picker described in Configuration against the live endpoint. It then discovers pricing (see Providers), verifies the model, and atomically adds or replaces the named profile.
  • update and delete list saved endpoints with a number next to each and prompt for a pick when <name> is omitted. For update, a blank answer at the base URL or API key prompt keeps the current saved value; changing the base URL still requires a new API key. If --model is omitted, NoteWise reuses the suffix of the current default model when it’s named <name>/<model-id>; otherwise it opens the model picker (when <name> was omitted) or requires --model explicitly (when <name> was passed on the command line).
  • delete refuses to remove a profile while the default model begins with <name>/.
API keys supplied on a command line can be retained in shell history. Prefer notewise setup, the prompted flow above, or direct configuration for persistent secrets.

Transcript command

Downloads one video’s transcript without any AI generation and needs no API key. Use --format json for structured output instead of the default txt, --output for a different folder, --language (one code per flag, repeatable; defaults to the video’s spoken language), and --cookie-file for restricted videos. Playlists and batch files are not supported here; use notewise process --export-transcript instead.

Setup and auth

Update command

The update check compares the installed version with the latest GitHub release. It detects whether NoteWise is running as a standalone binary or as a Python package and prints the matching upgrade command group. Standalone binaries receive the short release installer command. Python package installs receive package-manager commands for uv tool, pipx, and python -m pip; use the one that matches how you installed NoteWise.

Exit behavior

Successful commands exit with 0. Processing failures exit with 1.
Last modified on November 6, 2026