Skip to content
Emiel Kollof edited this page Mar 24, 2026 · 12 revisions

Usage

Quick start

/account add work user@example.com mypassword
/account connect work

Accounts

/account list                         # list configured accounts
/account add <name> <jid> <password>  # add an account
/account connect <name>               # connect
/account disconnect <name>            # disconnect
/account reconnect <name>             # reconnect (e.g. after network change)
/account delete <name>                # permanently remove

Messaging

Private messages (PM)

/open user@example.com       # open a direct chat buffer
/query user@example.com      # alias for /open
/query user@example.com Hi!  # open and send an opening message

Close a PM buffer with /close. The buffer will not be recreated automatically on the next connect.

Sending messages

Type your message and press Enter in any chat buffer. Or:

/msg <text>    # send text in the current buffer

Multi-User Chat (MUC)

Joining rooms

/join room@conference.example.com
/enter room@conference.example.com   # alias

Leaving rooms

/close        # leave the room and close the buffer
/part         # leave without closing (buffer stays)

Nicklist prefixes

Each occupant's nick is prefixed to show their role/affiliation (XEP-0045):

Prefix Role / Affiliation Meaning
~ affiliation: owner Room owner — full control
& affiliation: admin Administrator
@ role: moderator Can kick and mute
% affiliation: member Registered member
+ role: participant Standard occupant with voice
? role: visitor Read-only in moderated rooms
! affiliation: outcast Banned
. (none) No role/affiliation set

MUC management commands

/topic <text>             # set room topic
/topic                    # clear room topic
/nick <newnick>           # change your nick in the current room
/kick <nick> [reason]     # kick an occupant (requires moderator role)
/ban <jid> [reason]       # ban by JID (requires admin/owner role)
/invite <jid> [reason]    # invite someone to the current room (XEP-0249)
/selfping                 # verify you are still in the room (XEP-0410)

Message features

Message Correction — /edit (XEP-0308)

Replaces your last sent message in the current buffer:

/edit <corrected text>

The corrected message appears in-place with an [edit] prefix. Only the most recent sent message can be corrected.

Message Retraction — /retract (XEP-0424)

Deletes one of your own sent messages via an interactive picker:

/retract

Navigate with /, press Enter to confirm, q/Esc to cancel. Supporting clients show a tombstone where the message was.

Message Moderation — /moderate (XEP-0425)

Remove any message from a MUC (requires moderator role):

/moderate [reason]

Opens an interactive picker for the last 20 messages in the room.

Message Reactions — /react (XEP-0444)

React to the last received message:

/react 👍
/react ❤️

The emoji argument (everything after /react) is sent as a single reaction targeting the most recent non-own message in the buffer.

Message Replies — /reply (XEP-0461)

/reply                   # interactive picker — choose which message to reply to
/reply <text>            # reply immediately to the last received message

When using the picker, after selecting a message the input bar is pre-filled with /reply-to <id> ; type your reply and press Enter.

Spoiler Messages — /spoiler (XEP-0382)

/spoiler <text>
/spoiler hint: <hint text> :: <message text>

Supporting clients hide the content behind a spoiler warning with the optional hint text displayed.

/me actions (XEP-0245)

/me <action text>

Displays as: * nick action text


File sharing — /upload (XEP-0363)

/upload                  # interactive file picker
/upload /path/to/file    # upload directly

The file is uploaded via HTTP File Upload and the download URL is sent to the current buffer.


Message Archive Management — /mam

Fetch historical messages from the server archive:

/mam        # fetch last 7 days (default)
/mam 14     # fetch last 14 days

MAM history is cached locally in LMDB and loaded instantly on subsequent connects. Only messages newer than the last cached timestamp are fetched.


Encryption

OMEMO (XEP-0384)

/omemo                         # enable OMEMO for current buffer
/plain                         # disable encryption (plaintext)
/omemo check                   # verify bundle is published on server
/omemo republish                # republish OMEMO:2 + legacy bundle nodes
/omemo status                  # show device ID and status
/omemo reset-keys              # reset key database (forces full renegotiation)
/omemo fetch [jid] [device-id] # force devicelist/bundle refresh
/omemo kex [jid] [device-id]   # force key transport to a specific device

The encryption status bar item shows OMEMO when active (see Configuration).

PGP

/pgp <keyid>    # activate PGP with the given key ID
/pgp status     # show current PGP key
/pgp reset      # clear PGP key

Plaintext

/plain          # disable all encryption for the current buffer

Message status glyphs

Sent messages display an inline glyph that updates automatically:

Glyph Meaning
Pending — sent, no receipt yet
Delivered — recipient's client acknowledged receipt (XEP-0184)
✓✓ Read — recipient marked it displayed (XEP-0333)

Message Styling (XEP-0393)

Incoming messages that use XEP-0393 spans are rendered with WeeChat color/attribute codes:

Markup Rendered as
*bold* Bold
_italic_ Italic
`code` Monospace gray
~strikethrough~ Darkgray
> quote Green prefix

XHTML-IM rendering (XEP-0071)

When an incoming message carries an <html> body, it is rendered with WeeChat formatting. No configuration needed.

HTML element Rendered as
<b>, <strong> Bold
<i>, <em> Italic
<u> Underline
<del>, <s> Darkgray
<code>, <tt> Gray
<pre> Gray preformatted block
<a href="..."> text (blue URL)
<img alt="..."> [alt] placeholder
<br> Newline
<blockquote> Green > prefix per line
<span style="color:..."> Terminal color

Link previews (XEP-0511)

Incoming: OpenGraph metadata arriving in <rdf:Description> stanzas is rendered as a compact preview below the message.

Outgoing: URLs you send trigger a background fetch; metadata is sent as a follow-up stanza so supporting clients show a preview.

To disable outgoing previews:

/set xmpp.look.outgoing_link_preview off
/save

Roster management

/roster                      # display contact list
/roster add <jid> [name]     # add a contact
/roster del <jid>            # remove a contact

Bookmarks (XEP-0402)

/bookmark                              # list bookmarks
/bookmark add [jid] [name]             # add a bookmark (defaults to current room)
/bookmark del <jid>                    # remove a bookmark
/bookmark autojoin <jid> <on|off>      # toggle autojoin for a bookmarked room

Privacy / blocking (XEP-0191)

/block <jid> [jid ...]     # block one or more JIDs
/unblock [jid ...]         # unblock; no arguments unblocks all
/blocklist                  # list all blocked JIDs

Service discovery

/disco [jid]     # list services and features (XEP-0030)
/list [keywords] # search public MUC rooms (XEP-0433)
/ping [jid]      # send XMPP ping (XEP-0199); defaults to server

Ad-hoc commands (XEP-0050)

/adhoc example.com                              # list available commands
/adhoc example.com announce                     # execute a command (form rendered inline)
/adhoc example.com announce <id> field=value    # submit a data form field

Required form fields are marked with *. Multi-step sessions are supported.


PubSub feed reader (XEP-0060)

/feed <service-jid>                  # fetch all subscribed nodes
/feed <service-jid> --all            # discover and fetch all nodes via disco#items
/feed <service-jid> <node>           # fetch a specific node
/feed ... --limit N                  # override item limit (default 20)
/feed ... --before <id>              # page to items older than <id> (XEP-0059 RSM)

Each node is displayed in its own dedicated WeeChat buffer.


Presence / status

/mood [mood [text]]                         # publish mood (XEP-0107)
/activity [category[/specific] [text]]      # publish activity (XEP-0108)
/whois [jid]                                # fetch vCard (XEP-0054)
/setvcard <field> <value>                   # publish a vCard field
/setavatar <filepath>                       # publish avatar (XEP-0084)
/buzz                                       # send attention request (XEP-0224)

Interactive picker

Several commands open an in-buffer picker when given no arguments:

Key Action
/ Move selection
Enter Confirm
q / Esc Cancel

Commands that use the picker: /retract, /moderate, /reply, /upload.


Raw XML (advanced)

/xml <stanza>    # send raw XML to the XMPP stream

Useful for testing server features or debugging. Be careful — sending malformed XML will disconnect you.

Clone this wiki locally