# IRCv3 capabilities Clients negotiate capabilities with `CAP LS` / `CAP REQ`. echoIRCd advertises the following. `draft/multiline`, `sasl`, and `draft/account-registration` carry `=`-value parameters (limits, the SASL mechanism list, enabled sub-features) to CAP-302 clients. ## Ratified | Capability | Meaning | | --- | --- | | `sasl` | SASL authentication (mechanism list attached for CAP 302) | | `server-time` | A `time=` tag with each message's server timestamp | | `message-tags` | Generic message-tag support, including relaying client `+` tags | | `multi-prefix` | Show all of a member's status prefixes in NAMES/WHO | | `away-notify` | Real-time AWAY / back notifications | | `account-notify` | Notify when a user logs in/out of an account | | `extended-join` | JOIN carries the account name and realname | | `chghost` | Real-time host/ident change notifications | | `userhost-in-names` | Full `nick!user@host` in NAMES | | `echo-message` | Echo the sender's own PRIVMSG/NOTICE back | | `invite-notify` | Notify channel ops when a user is invited | | `setname` | Real-time realname change notifications | | `extended-monitor` | MONITOR reflects extended state changes | | `account-tag` | An `account=` tag identifying the sender's account | | `standard-replies` | Structured `FAIL` / `WARN` / `NOTE` replies | | `labeled-response` | Correlate a command with its response via `label` | | `batch` | Group related messages into a `BATCH` | | `cap-notify` | Tell the client when caps are added/removed | ## Draft & vendor | Capability | Meaning | | --- | --- | | `draft/chathistory` | Request replay of past channel/DM messages | | `draft/event-playback` | Include channel events (JOIN/PART/QUIT/NICK/MODE/TOPIC/KICK) in history | | `draft/message-redaction` | `REDACT` a previously-sent message | | `draft/pre-away` | Set AWAY during registration | | `draft/metadata-2` | Per-user/channel arbitrary metadata | | `draft/multiline` | Send one logical message across multiple lines | | `draft/account-registration` | In-band account `REGISTER` / `VERIFY` | | `draft/json-log` | Structured JSON tag on server notices (opers) | | `draft/extended-isupport` | Re-request ISUPPORT (005) tokens on demand | | `draft/relaymsg` | Send channel messages under a spoofed relay nick (bridges) | | `draft/channel-rename` | Rename a channel in place (`RENAME`) | | `draft/read-marker` | Per-conversation read-marker sync across devices | | `draft/webpush` | Web Push subscription for backgrounded/away notifications | | `draft/filehost` | Advertise an external file-host + signed upload links | | `no-implicit-names` | Suppress the automatic NAMES burst on JOIN | For SASL mechanisms, see [Accounts & SASL](/docs/accounts).