(265, 266),
     372,
     (375, 376),
+    396,
 )
 _NUMERICS_TO_IGNORE = (
     (1, 4),      # nothing in this login info we're interested in
                 self._db.append('motd', msg.params[-1])
             case '376':  # RPL_ENDOFMOTD
                 self._update_db('motd', None, True)
+            case '396':  # RPL_VISIBLEHOST/RPL_YOURDISPLAYEDHOST/RPL_HOSTHIDDEN
+                # '@'-split because <https://defs.ircdocs.horse/defs/numerics>
+                # claims: "<hostname> can also be in the form <user@hostname>"
+                self._update_db('client_host', confirm=True,
+                                value=msg.params[1].split('@')[-1])
             case 'PING':
                 self.send(IrcMessage(verb='PONG', params=(msg.params[0],)))
             case 'ERROR':