Is a @CATALOG argument required in linked server to connect to READ-ONLY secondary?
Am I configuring the linked server incorrectly or is the @CATALOG argument required?


Regardless of the style in which you connect (SSMS, Linked Server, SQLCMD, JDBC Client, Whatever), there are a few things required in the connection string in order for Read Only Routing to properly work:


TCP/IP must be the protocol used
The listener name must be used (depending on version)
A database belonging to the AG must be in the connection string
Application Intent must be set to ReadOnly


Any deviation from the above will immediately result in read only routing not working. Thus, to answer your question, you need to somehow specify the default database as part of the connection string.