The problem
When trying to install a pip URL from the "... from URL" field (which does say "Expected http, https or any of the supported VCS URLs."), say git+https://github.com/rfinnie/OctoPrint-BedCooldown.git@main, it fails with:
Installing plugin from git+https://github.com/rfinnie/OctoPrint-BedCooldown.git@main...
Error!
Unexpected error while trying to install plugin from None
Log produces:
2026-04-30 16:27:47,131 - octoprint.plugins.pluginmanager - ERROR - Unexpected error while trying to install plugin from None
Traceback (most recent call last):
File "/home/ryan/venv3/lib/python3.13/site-packages/octoprint/plugins/pluginmanager/__init__.py", line 973, in command_install
path = download_file(url, folder.name)
File "/home/ryan/venv3/lib/python3.13/site-packages/octoprint/util/net.py", line 300, in download_file
with requests.get(url, stream=True, timeout=(connect_timeout, read_timeout)) as r:
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ryan/venv3/lib/python3.13/site-packages/requests/api.py", line 73, in get
return request("get", url, params=params, **kwargs)
File "/home/ryan/venv3/lib/python3.13/site-packages/requests/api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ryan/venv3/lib/python3.13/site-packages/requests/sessions.py", line 592, in request
resp = self.send(prep, **send_kwargs)
File "/home/ryan/venv3/lib/python3.13/site-packages/requests/sessions.py", line 700, in send
adapter = self.get_adapter(url=request.url)
File "/home/ryan/venv3/lib/python3.13/site-packages/requests/sessions.py", line 795, in get_adapter
raise InvalidSchema(f"No connection adapters were found for {url!r}")
requests.exceptions.InvalidSchema: No connection adapters were found for 'git+https://github.com/rfinnie/OctoPrint-BedCooldown.git@main'
It seems the plugin manager always tries to interpret the field as a ZIP to download and pass to pip. src/octoprint/plugins/pluginmanager/__init__.py does contain URL_SCHEMES, but it's not currently being used anywhere.
Did the issue persist even in safe mode?
Yes, it did persist
If you could not test in safe mode, please state why ("currently printing" is NOT an excuse!)
No response
Version of OctoPrint
1.11.7
Operating system running OctoPrint
Linux, Raspberry Pi OS trixie
Browser and version of browser, operating system running browser
Firefox 150
Printer model & used firmware incl. version
Ender 3 V2
Systeminfo Bundle
octoprint-systeminfo-20260430162833.zip1
Checklist of files to include below
Additional information & file uploads
Context of how this was discovered: tl;dr I'm looking into ways to migrate from GitHub to Codeberg. They're currently blocking archive zip downloads via the pip User-Agent, so I was looking into alternative methods which will work.
OctoPrint/plugins.octoprint.org#1430
https://codeberg.org/Codeberg/Community/issues/2563
The problem
When trying to install a pip URL from the "... from URL" field (which does say "Expected http, https or any of the supported VCS URLs."), say
git+https://github.com/rfinnie/OctoPrint-BedCooldown.git@main, it fails with:Log produces:
It seems the plugin manager always tries to interpret the field as a ZIP to download and pass to
pip.src/octoprint/plugins/pluginmanager/__init__.pydoes containURL_SCHEMES, but it's not currently being used anywhere.Did the issue persist even in safe mode?
Yes, it did persist
If you could not test in safe mode, please state why ("currently printing" is NOT an excuse!)
No response
Version of OctoPrint
1.11.7
Operating system running OctoPrint
Linux, Raspberry Pi OS trixie
Browser and version of browser, operating system running browser
Firefox 150
Printer model & used firmware incl. version
Ender 3 V2
Systeminfo Bundle
octoprint-systeminfo-20260430162833.zip1
Checklist of files to include below
Additional information & file uploads
Context of how this was discovered: tl;dr I'm looking into ways to migrate from GitHub to Codeberg. They're currently blocking archive zip downloads via the pip User-Agent, so I was looking into alternative methods which will work.
OctoPrint/plugins.octoprint.org#1430
https://codeberg.org/Codeberg/Community/issues/2563
Footnotes
octoprint-systeminfo-20260430162833.zip(bundleviewer) (download)OctoPrint: 1.11.7
Python: 3.13.5
OS: Linux-6.12.75+rpt-rpi-v8-aarch64-with-glibc2.41
RPi: Raspberry Pi 3 Model B Plus Rev 1.3
Browser: Mozilla/5.0 (X11; Linux x86_64; rv:150.0) Gecko/20100101 Firefox/150.0 ↩