This page lists the tags, capabilities, commands, batches and metadata keys that have been defined by the IRCv3 Working Group, are described by our specifications, or that we otherwise recommend using.


Numerics

Numeric Name Specs Description
005 RPL_ISUPPORT Lists features supported by the server, sent as connection registration is completed. (1) (2) (3)
670 RPL_STARTTLS starttls Indicates that the client may begin their TLS handshake
691 ERR_STARTTLS starttls Indicates that STARTTLS failed because of an unspecified error
730 RPL_MONONLINE Monitor This numeric indicates to a client that either a target has just become online, or that a target they have added to their monitor list is online
731 RPL_MONOFFLINE Monitor This numeric indicates to a client that either a target has just left the irc network, or that a target they have added to their monitor list is offline
732 RPL_MONLIST Monitor This numeric is returns the list of targets that the client has in their monitor list
733 RPL_ENDOFMONLIST Monitor This numeric indicates the end of a monitor list
734 ERR_MONLISTFULL Monitor This numeric is indicates to a client that their monitor list is full
900 RPL_LOGGEDIN SASL 3.1, SASL 3.2 Indicates that the client is logged in
901 RPL_LOGGEDOUT SASL 3.1, SASL 3.2 Indicates that the client has been logged out
902 ERR_NICKLOCKED SASL 3.1, SASL 3.2 Indicates that SASL auth failed because the account is currently locked out, held, or otherwise administratively made unavailable
903 RPL_SASLSUCCESS SASL 3.1, SASL 3.2 Indicates that SASL auth finished successfully
904 ERR_SASLFAIL SASL 3.1, SASL 3.2 Indicates that SASL auth failed because of invalid credentials or other errors not explicitly mentioned by other numerics
905 ERR_SASLTOOLONG SASL 3.1, SASL 3.2 Indicates that SASL auth failed because the client-sent AUTHENTICATE command was too long (i.e. the parameter longer than 400 bytes)
906 ERR_SASLABORTED SASL 3.1, SASL 3.2 Indicates that SASL auth has been aborted because the client sent an AUTHENTICATE command with * as the parameter
907 ERR_SASLALREADY SASL 3.1, SASL 3.2 Indicates that SASL auth failed because the client has already authenticated and the server doesn’t support re-authenticating
908 RPL_SASLMECHS SASL 3.1, SASL 3.2 Sends the SASL mechanisms supported by the server, in response to an incorrectly-sent AUTHENTICATE message

Capabilities

Name Specs Description
account-notify account-notify Notifies clients when other clients in common channels authenticate with or deauthenticate from their account (e.g. NickServ, SASL).
account-tag account-tag Attaches a tag containing the user’s account to every message they send.
away-notify away-notify Notifies clients when other clients in common channels go away or come back.
batch batch Lets the server bundle common messages together, which lets clients be more intelligent about displaying them.
cap-notify cap-notify Notifies clients when client capabilities become availiable or are no longer available.
chghost chghost Enables the CHGHOST message, which lets servers notify clients when another client’s username and/or hostname changes.
echo-message echo-message Notifies clients when their PRIVMSG and NOTICEs are correctly received by the server.
extended-join extended-join Extends the JOIN message to include the account name of the joining client.
invite-notify invite-notify Notifies clients when other clients are invited to common channels.
metadata Metadata 3.2 [deprecated] Lets clients store metadata about themselves with the server, for other clients to request and retrieve later.
monitor Monitor Lets users request notifications for when clients become online / offline.
multi-prefix multi-prefix Makes the server send all prefixes in NAMES and WHO output, in order of rank from highest to lowest.
sasl SASL 3.1, SASL 3.2 Indicates support for SASL auth, a standardised way for clients to identify for an account.
server-time server-time Lets clients show the actual time messages were received by the server.
tls starttls Indicates support for the STARTTLS command, which lets clients upgrade their connection to use TLS encryption.
userhost-in-names userhost-in-names Extends the RPL_NAMREPLY message to contain the full nickmask (nick!user@host) of every user, rather than just the nickname.

Tags

Name Specs Description
account account-tag Contains the account name of the user that sent the attached message to the client.
batch batch Contains the ID of the batch the attached message is a part of.
time server-time Contains the time that the given message should be treated as happening at.
+react React client tag [draft] Marks that a given message is intended as a reply to a specific sent message.
+reply Reply client tag [draft] Sends a reaction to a specific sent message.

Batches

Name Specs Description
chathistory chathistory Batch Type [draft] Indicates that the given messages represent history playback from this channel.
netjoin netsplit and netjoin Batch Types Indicates that the given clients are joining as the result of a netjoin (two split servers reconnecting).
netsplit netsplit and netjoin Batch Types Indicates that the given clients are quitting as the result of a netsplit (two servers disconnecting).

Messages

Name Specs Description
AUTHENTICATE SASL 3.1, SASL 3.2 Used to login to a client account when SASL authentication is negotiated.
ACCOUNT account-notify Notifies clients of new logins by friends.
CAP CAP 3.1, CAP 3.2 Lets clients negotiate client capabilities with servers.
CHGHOST chghost Notifies clients of changed usernames and hostnames of friends
INVITE invite-notify Not defined by IRCv3 but extended to alert other clients that someone’s been invited to one of their channels.
JOIN extended-join Not defined by IRCv3 but extended to include usernames and hostnames.
METADATA Metadata 3.2 [deprecated] Lets clients store metadata about themselves with the server, for other clients to request and retrieve later.
MONITOR Monitor Existing command which allows clients to see when specific nicknames enter or leave the network.
NAMES userhost-in-names Not defined by IRCv3 but extended to include account names.
STARTTLS starttls Allows clients to upgrade their plaintext connections to use TLS encryption.
TAGMSG Message Tags 3.3 [draft] Lets clients send messages with tags but no text content.
WEBIRC WebIRC [draft] Existing command which provides the real IP address of clients to the server when connecting through a gateway.