Most of the time, you can re-download the current version of macOS via the Mac App Store, and older ones via these links:

However, I’ve run into a situation several times where the Software Update mechanism simply refuses to initiate a download:

After entering host name and userid, Mac OS errors are reported before even entering the password. If you then enter the password, Fetch will log in ok, but only if 'Add to keychain' is NOT selected. Fetch is a file transfer client for Apple Macintosh, that uses FTP (File Transfer Protocol) and SFTP (SSH File Transfer Protocol). The latest versions of this software - Fetch 5.3 and 5.7 runs on Mac OS X 10.3.9 or newer. The interface of Fetch is simple and easy to use. Main Fetch features are.

Fetch Download Mac

Thankfully, macOS installers can be downloaded via Terminal in macOS Catalina. This command will download the most recent version of macOS, depositing it in your Applications folder:

softwareupdate --fetch-full-installer

Mac

The softwareupdate command has some neat tricks up its sleeve, as pointed out by Armin Briegel:

The --fetch-full-installer flag has a sub-flag: --full-installer-version which allows you to download a specific version.

During my testing in the Catalina beta version I was able to download 10.15, 10.14.6, 10.14.5, and 10.13.6. I was not able to test if 10.13.6 would download the hardware specific build of 10.13.6 for the 2018 MacBook Pro, since I do not have that hardware.

So, to pull 10.13.6 down, you’d use:

softwareupdate --fetch-full-installer --full-installer-version 10.13.6

Mac

Fetch Software For Mac

I wish Apple would just have a support document up with direct downloads for all of this stuff, but this tool is not a bad alternative.

Fetch Mac Os X

Update: Don’t miss this documentation from JAMF for more on the subject.