Trying to fetch private repo when not logged in reports invalid character error

What I Wanted to Do

Install a private npm package from the official npm registry

What Happened Instead

Installation failed, npm i @my-org/my-package, with an invalid url message:

npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/@my-org/my-package - Not found
npm ERR! 404 
npm ERR! 404  '@my-org/my-package@latest' is not in the npm registry.
npm ERR! 404 Your package name is not valid, because 
npm ERR! 404  1. name can only contain URL-friendly characters
npm ERR! 404 
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

After logging in, the installation succeeded.

Reproduction Steps

Try to install any private npm package without being logged in.

Platform Info

$ npm --versions
{ 'test-90poe-npm': '1.0.0',
  npm: '6.7.0',
  ares: '1.15.0',
  brotli: '1.0.7',
  cldr: '34.0',
  http_parser: '2.8.0',
  icu: '63.1',
  llhttp: '1.1.1',
  modules: '67',
  napi: '4',
  nghttp2: '1.34.0',
  node: '11.12.0',
  openssl: '1.1.1b',
  tz: '2018e',
  unicode: '11.0',
  uv: '1.26.0',
  v8: '7.0.276.38-node.18',
  zlib: '1.2.11' }


$ node -p process.platform
linux