Skip to content
tong edited this page Oct 16, 2026 · 1 revision

Commands start with /. Arguments in <> are required, in [] optional, ... takes the rest of the line (spaces included). Words with spaces can be quoted ("…"). /help lists all commands, /help <command> shows the usage of one.

Where a contact is expected, it can be given by jid, or by its name in the roster or the local part of its jid (case-insensitive, if exactly one contact matches): /msg alice hi instead of /msg alice@example.org hi. A resource can be added: alice/phone.

Aliases of commands are set in the config (alias.m = msg, see Configuration); /help lists them (/h in the default config).

The commands of file transfer and scripts are on their pages.

Messages and presence

Command Description
/msg <jid> <text...> send a message to a jid or contact name (\n for a newline)
/history <jid> [count] the last messages with a contact (or in a joined room) from the archive of the server, 20 or count (at most 100); needs message archiving on the server (MAM, Prosody: mod_mam, rooms: mod_muc_mam)
/edit [text...] write the input line in your text editor ($VISUAL, $EDITOR, else vi), e.g. a long message: when the editor closes, the text is the input line (line breaks as \n), to send with Enter (in chat mode as a message); also Ctrl-X Ctrl-E with the line being typed
/chat [jid] chat mode (interactive): lines without / are sent to the contact, // sends a line starting with /; without jid (or Ctrl-C on an empty line) leave it
/presence [state] [status...] show or set your presence: available, chat, away, xa (extended away), dnd (busy), with an optional status message; kept across reconnects
/presence status [text...] show or set your status message, keeping the presence state; /presence status - clears it (as /status with alias.status = presence status)
/presence priority [n] show or set the priority of your presence (-128 to 127, default 0): messages to your bare jid go to your client with the highest priority; kept across reconnects
/attention <jid> [text...] get the attention of a contact (their client may ring or flash), with an optional message
/correct <text...> correct your last sent message (replaced by the text in the recipient's client)
/react <jid> [^n] <emoji...> react to the last message of a contact or in a room (^2: the one before it, …) with emojis: each one is added to your reactions to it, or removed if you reacted with it already; - removes all
/reply <jid> [^n] <text...> reply to the last message of a contact or in a room (^2: the one before it, …): shown with the message replied to, quoted for clients without replies (\n for a newline)
/retract <jid> [^n] retract (delete) your last message to a contact or in a room for everyone (^2: the one before it, …): their clients delete it or show it as retracted, but may have kept it
/chatstate <jid> <state> send your chat state: active, composing (typing), paused, inactive, gone; for editors and other programs using the API
/xmpp-debug [on|off] print the XMPP stream (passwords hidden), without argument: on; same as --xmpp-debug
/config show the config of the account (base config, account config and command line options); values not saved are marked with *
/config save save the config to accounts/<name> (created if needed): changed values are updated, comments and other lines kept, values of the base config not repeated
/vcard [jid] show the vCard (profile) of a contact, or your own
/vcard set <field> [value...] set a field of your vCard (name, nickname, given, family, email, tel, url, birthday, org, title, role, desc, photo with the path of an image), without value: clear it; other fields are kept
/avatar [jid] save the avatar of a contact (or your own) in the cache and show the file ($XDG_CACHE_HOME/norc/avatars/<hash>.<ext>), and the image itself in terminals showing images (kitty graphics protocol, PNG avatars, see terminal_images); avatars of contacts are also loaded when they change, see the avatar event
/avatar set <path...> publish your avatar: a PNG (recommended), JPEG, GIF or WebP image of at most 160 KB, as PEP avatar (XEP-0084) and vCard photo (XEP-0153)
/avatar remove remove your avatar (PEP and vCard)
/nick [name...] show or publish your nickname (- stops publishing it); contacts' nicknames are their names if they have none in the roster
/mood [mood] [text...] show or publish your mood (happy, tired, … tab completes them) with an optional text; - stops publishing it
/tune [tune...] show or publish the music you are listening to: artist - title, or fields as key=value (artist, title, source, track, length in seconds, …; values with spaces in quotes, \" for a quote); - stops publishing it
/time [jid] local time and time zone of a client or server (each online client of a contact; default: your server)
/command [jid] list the commands (XEP-0050 ad-hoc commands) of a server, service or client, default: your server (e.g. its administration)
/command run <jid> <node> run a command (its node, or number in the last list); a command asking for input shows a form
/command submit [field=value...] answer the form of the running command ("…" for values with spaces, a field repeated for several values, booleans as yes/no); /command prev goes back, /command cancel cancels it
/ping [jid] ping a server or client and show the round-trip time (each online client of a contact; default: your server)
/reconnect close the connection and reconnect, e.g. after a network change; resumes the session if the server supports stream management
/quit (/exit) disconnect and exit

/react and /reply refer to the messages of the others shown in the chat (/retract to your own), also those from /history and those shown when the chat mode starts. In chat mode the jid can be left out (/react 👍, /reply ^2 yes). Received reactions are shown as <alice> reacted 👍 to "text", replies with a line quoting the message replied to (↪ <you> text), retractions as <alice> retracted "text".

/msg alice@example.org Hello Alice!
/presence away back at 3
/presence available
/presence status in a meeting
/presence status -

Contacts (roster)

Command Description
/contacts list contacts with presence, subscription and groups, and what they publish: their mood and the music they listen to (tune)
/contacts add <jid> [name...] add a contact and ask to see their presence
/contacts remove <jid> (rm) remove a contact (ends the presence subscriptions both ways)
/contacts rename <jid> [name...] set the name of a contact, or clear it
/contacts groups <jid> [groups...] set the groups (comma separated), or clear them
/contacts requests contacts asking to see your presence
/contacts accept <jid> allow a contact to see your presence (and ask to see theirs)
/contacts deny <jid> refuse a request, or stop sharing your presence

Calls

Audio and video calls with contacts, compatible with other clients (Conversations, Dino, Gajim, Movim: Jingle RTP with WebRTC). The audio and video run in a separate program, norc-rtc (see Installation); without it, calls are not available.

Command Description
/call <jid> [options...] call a contact (audio); options: video, send or receive (only one direction, for all media), and a file to play instead of your microphone (any audio format, ~/ is the home directory); without resource a client of the contact supporting calls
/call accept [#id] [options...] accept a call (the only one, if no number is given); options: audio (accept a video call without video), send or receive (only one direction), a file to play
/call decline [#id] decline a call
/call hangup [#id] end a call, or cancel it while it rings
/call mute [audio|video] mute or unmute your audio (or video)
/calls the calls and their state (ringing, calling, connecting, connected)
/calls hangup end all calls (ringing calls are declined)
/calls devices list the microphones, speakers and cameras for calls: names for call_microphone, call_speaker, call_camera
/call alice video receive        watch alice's camera (and listen), send nothing
/call alice send ~/song.ogg      play a file to alice, hear nothing back
/call accept 1 audio             accept a video call without video

The other side can only narrow the directions: a call to receive can only be accepted to send.

#1 alice is calling (audio): /call accept 1 or /call decline 1
/call accept
#1 call with alice connected
/call hangup
#1 call with alice ended: hung up after 2:13

One call at a time: other callers get busy. Only contacts can call you, as the connection reveals your address. In chat mode, /call calls the contact of the chat. call_helper sets the program and its options, e.g. other audio devices: call_helper = norc-rtc --audio-source "pipewiresrc target-object=…" (see norc-rtc --help).

Rooms (group chats)

Command Description
/rooms list the rooms you are in, with your nick, the number of occupants and the subject
/rooms find [service] list the public rooms of the chat service of your server (or of another service, e.g. conference.example.org), with their occupants and descriptions
/rooms leave leave all rooms
/bookmarks list the bookmarked rooms: stored on the server, shared with your other clients
/bookmarks add <jid> [nick] bookmark a room (with autojoin): joined after each login, also by your other clients; default the nick you have in it
/bookmarks autojoin <jid> <on|off> join a bookmarked room after the login, or not: the bookmark is kept (also for your other clients)
/bookmarks remove <jid> (rm) remove the bookmark of a room (the room is not left)
/room join <room> [nick] join a room: its jid (room@conference.example.org), or its name on the chat service of your server (/room join norc); the nick defaults to the local part of your jid
/room leave <jid> leave a room
/room occupants <jid> (who) list the occupants of a room
/room subject <jid> [text...] show or set the subject of a room
/room config <jid> [field=value...] show the configuration form of a room (as its owner), or change it: e.g. roomname="My Room" persistentroom=yes membersonly=yes (the end of a field name is enough if unique; other settings are kept)
/room nick <jid> <nick> change your nick in a room
/room invite <jid> <contact> [reason...] invite a contact to a room
/room moderate <jid> [^n] [reason...] as moderator: remove the last message of the others in a room for everyone (^2: the one before it, …), the reason is shown to the occupants; needs a room with message ids and moderation (Prosody: mod_muc_mam, mod_muc_moderation)

A room can be given by its jid, or by its local part (norc) if you are in only one room with that name. In room mode, occupants entering and leaving the room are shown (norc alice entered, norc alice left, norc alice is now alicia). Joining a room on the terminal starts the group chat mode (see Running norc): lines without / go to the room, and its commands work without /room and the jid: /subject, /who, /nick tester, /invite bob, /leave (there /nick changes your nick in the room, not your published nickname); /chat <room> or /room join <room> returns to a joined room (Tab completes the rooms you are in). Leaving the room ends it. Messages to a room go to all its occupants, also /msg norc@conference.example.org hi. Rooms with a bookmark marked autojoin (also bookmarked by your other clients, e.g. Conversations or Dino) are joined after the login, and when another client adds such a bookmark. Creating a room: join a room that doesn't exist yet (it is removed when the last occupant leaves, unless made persistent: /room config myroom persistentroom=yes). Finding rooms: /rooms find lists the public rooms of your server, /rooms find <service> those of another chat service. Room messages are shown as 12:03:41 norc <alice> hi. After a reconnect, norc joins the rooms again. Invitations are shown with the command to join the room.

Blocking

Command Description
/block list blocked jids
/block add <jid> block a jid, contact or domain: the server drops everything from it, for all your clients
/block remove [jid] unblock a jid, or all without jid

Needs server support (XEP-0191, Prosody: mod_blocklist).

Service discovery

Command Description
/server what your server offers: message archive (MAM), personal eventing (PEP: tunes, moods, nicknames, avatars, bookmarks), blocking, HTTP file upload, message carbons; asked after the login. Commands needing what it doesn't offer are marked in /help (not on your server) and refused with an error
/disco info [jid] [node] identities and features of an entity (default: your server)
/disco items [jid] [node] items of an entity, e.g. the services of your server
/lastactivity [jid] uptime of a server (default: yours), how long ago an account was online (if its server supports it), or the idle time of a client
/software <jid> software, version and operating system of a client or server; for a contact without resource, of each of its online clients

Note: a bare jid (alice@example.org) is answered by her server on behalf of the account. To see what a client supports, query its full jid (alice@example.org/phone).

Clone this wiki locally