Skip to content

Extensions

WarpDL supports JavaScript extensions using the Goja runtime.

Terminal window
warpdl ext install <path-or-url>
Terminal window
warpdl ext list
Terminal window
warpdl ext activate <extension-id|name>
warpdl ext deactivate <extension-id|name>
Terminal window
warpdl ext uninstall <extension-id|name>

Extensions are stored in:

~/.config/warpdl/extstore/

Extensions that declare an auth block in their manifest call an OAuth2 API on your behalf. They need a credential before they can run, which you grant once per extension:

Terminal window
warpdl auth login <extension-id> # opens a browser for the OAuth2 flow
warpdl auth list # show stored credentials
warpdl auth status <extension-id> # exit 0 if authenticated and valid
warpdl auth logout <extension-id>

Use --as <label> to keep more than one account per extension (for example work and personal), --device for the device-code flow, or --no-browser to print the URL instead of opening a browser. See the Extension API for the manifest and JavaScript API.

See Extension API for details on creating your own extensions.