no-implicit-names Extension

Copyright © 2023 Simon Ser <>

Unlimited redistribution and modification of this document is allowed provided that the above copyright notice and this permission notice remains intact.

This specification is a work-in-progress and may have major incompatible changes without warning.

This specification may change at any time and we do not recommend implementing it in a production environment.

Notes for implementing work-in-progress version πŸ”—

This is a work-in-progress specification.

Software implementing this work-in-progress specification MUST NOT use the unprefixed no-implicit-names CAP name. Instead, implementations SHOULD use the draft/no-implicit-names CAP name to be interoperable with other software implementing a compatible work-in-progress version. The final version of the specification will use an unprefixed CAP name.

This is a work-in-progress specification.

Description πŸ”—

This document describes the no-implicit-names extension. This allows clients to opt-out from the implicit NAMES reply servers send after JOIN messages.

Some clients don’t need to query the list of channel members for all joined channels. Omitting this information can reduce the time taken to connect to the server, especially on mobile devices and when a large number of channels are joined.

Implementation πŸ”—

The no-implicit-names extension introduces the draft/no-implicit-names capability. When negotiated, servers MUST NOT send an implicit NAMES reply after sending a JOIN message. Servers MUST reply to explicit NAMES commands sent by the client as usual.

Software supporting draft/no-implicit-names: UnrealIRCd