Sorry, but this is still reproducible with current Breezy trunk, r7521. Trying to reproduce it against Launchpad runs into other problems which I need to look into, but here's a reproducer with a random branch I had lying around on my home network, and assuming that you have a CONNECT-capable proxy on port 3128: $ https_proxy=http://localhost:3128/ BRZ_PLUGIN_PATH=-site:-user ./brz info https://riva.dynamic.greenend.org.uk/~cjwatson/bzr/pcmciautils/upstream brz: ERROR: AttributeError: can't set attribute Traceback (most recent call last): File "/home/cjwatson/src/bzr/brz/brz/breezy/commands.py", line 1017, in exception_to_return_code return the_callable(*args, **kwargs) File "/home/cjwatson/src/bzr/brz/brz/breezy/commands.py", line 1206, in run_bzr ret = run(*run_argv) File "/home/cjwatson/src/bzr/brz/brz/breezy/commands.py", line 757, in run_argv_aliases return self.run(**all_cmd_args) File "/home/cjwatson/src/bzr/brz/brz/breezy/commands.py", line 782, in run return class_run(*args, **kwargs) File "/home/cjwatson/src/bzr/brz/brz/breezy/commands.py", line 1223, in ignore_pipe result = func(*args, **kwargs) File "/home/cjwatson/src/bzr/brz/brz/breezy/builtins.py", line 1913, in run show_bzrdir_info(controldir.ControlDir.open_containing(location)[0], File "/home/cjwatson/src/bzr/brz/brz/breezy/controldir.py", line 771, in open_containing return klass.open_containing_from_transport(transport) File "/home/cjwatson/src/bzr/brz/brz/breezy/controldir.py", line 792, in open_containing_from_transport result = klass.open_from_transport(a_transport) File "/home/cjwatson/src/bzr/brz/brz/breezy/controldir.py", line 754, in open_from_transport transport, format = _mod_transport.do_catching_redirections( File "/home/cjwatson/src/bzr/brz/brz/breezy/transport/__init__.py", line 1613, in do_catching_redirections return action(transport) File "/home/cjwatson/src/bzr/brz/brz/breezy/controldir.py", line 742, in find_format return transport, ControlDirFormat.find_format(transport, File "/home/cjwatson/src/bzr/brz/brz/breezy/controldir.py", line 1165, in find_format return prober.probe_transport(transport) File "/home/cjwatson/src/bzr/brz/brz/breezy/bzr/__init__.py", line 111, in probe_transport server_version = medium.protocol_version() File "/home/cjwatson/src/bzr/brz/brz/breezy/bzr/smart/medium.py", line 829, in protocol_version client_protocol.query_version() File "/home/cjwatson/src/bzr/brz/brz/breezy/bzr/smart/protocol.py", line 797, in query_version self.call(b'hello') File "/home/cjwatson/src/bzr/brz/brz/breezy/bzr/smart/protocol.py", line 635, in call self._request.finished_writing() File "/home/cjwatson/src/bzr/brz/brz/breezy/bzr/smart/medium.py", line 611, in finished_writing self._finished_writing() File "/home/cjwatson/src/bzr/brz/brz/breezy/transport/http/__init__.py", line 2533, in _finished_writing data = self._medium.send_http_smart_request(self._buffer) File "/home/cjwatson/src/bzr/brz/brz/breezy/transport/http/__init__.py", line 2498, in send_http_smart_request code, body_filelike = t._post(bytes) File "/home/cjwatson/src/bzr/brz/brz/breezy/transport/http/__init__.py", line 2216, in _post response = self.request( File "/home/cjwatson/src/bzr/brz/brz/breezy/transport/http/__init__.py", line 1853, in request response = self._opener.open(request) File "/usr/lib/python3.8/urllib/request.py", line 525, in open response = self._open(req, data) File "/usr/lib/python3.8/urllib/request.py", line 542, in _open result = self._call_chain(self.handle_open, protocol, protocol + File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain result = func(*args) File "/home/cjwatson/src/bzr/brz/brz/breezy/transport/http/__init__.py", line 820, in https_open connect = _ConnectRequest(request) File "/home/cjwatson/src/bzr/brz/brz/breezy/transport/http/__init__.py", line 519, in __init__ Request.__init__(self, 'CONNECT', request.get_full_url(), File "/home/cjwatson/src/bzr/brz/brz/breezy/transport/http/__init__.py", line 468, in __init__ urllib_request.Request.__init__( File "/usr/lib/python3.8/urllib/request.py", line 328, in __init__ self.full_url = url File "/usr/lib/python3.8/urllib/request.py", line 354, in full_url self._parse() File "/usr/lib/python3.8/urllib/request.py", line 384, in _parse self.host, self.selector = _splithost(rest) AttributeError: can't set attribute