https://github.com/saltstack/salt/issues/66568
https://github.com/saltstack/salt/pull/68277
Index: salt/channel/client.py
--- salt/channel/client.py.orig
+++ salt/channel/client.py
@@ -556,7 +556,8 @@ class AsyncPubChannel:
             # may have been restarted
             yield self.send_id(self.token, self._reconnected)
             self.connected = True
-            self.event.fire_event({"master": self.opts["master"]}, "__master_connected")
+            if self.event:
+                self.event.fire_event({"master": self.opts["master"]}, "__master_connected")
             if self._reconnected:
                 # On reconnects, fire a master event to notify that the minion is
                 # available.
