/help- View command list.
/quit- Close gomuks.
/clearcache- Clear room state and close gomuks.
/logout- Log out, clear caches and go back to the login view.
/fingerprint- Shows the Device ID and fingerprint, allowing verification of the session.
/toggle <thing>- Toggle user preferences.
rooms- Room list sidebar.
users- User list sidebar.
baremessages- Bare message mode where the sender name is inline with the messages.
images- Text image rendering.
typingnotif- Outgoing typing notifications.
:emoji:conversion when sending messages.
html- HTML input.
markdown- Markdown input.
downloads- Automatic downloads (this will also prevent
notifications- Desktop notifications.
unverified- Sending (e2ee keys for) messages to unverified devices. You need to restart gomuks for this setting to take effect.
inlineurls- Inline URLs in text. May not be supported in all terminals. You need to restart gomuks for this setting to take effect.
Tab-completing file paths is supported in all these commands.
/download [path]- Downloads file from selected message. If path is not specified, it defaults to
/open [path]- Download file from selected message and open it with
xdg-open. If path is not specified, the file will be downloaded to the media cache.
/upload <path>- Upload the file at the given path to the current room. Note that to include audio/video file metadata (dimensions and duration), you must have
Sending special messages
/me <text>- Send an emote.
/notice <text>- Send a notice (generally used for bot messages).
/rainbow <text>- Send rainbow text.
/rainbowme <text>- Send rainbow text in an emote.
/rainbownotice <text>- Send rainbow text in a
/reply [text]- Reply to the selected message. If text is not specified, the next message will be used.
/react <reaction>- React to the selected message.
/redact [reason]- Redact the selected message.
/edit- Edit the selected message.
These commands support tab-completing file paths and user/device IDs using the displaynames of users/devices.
Accepting incoming interactive verification requests is not yet supported, only
outgoing requests via
/fingerprint- View the fingerprint of your device (for legacy/non-interactive verification).
/devices <user id>- View the device list of a user.
/device <user id> <device id>- Show info about a specific device.
/unverify <user id> <device id>- Un-verify a device.
/blacklist <user id> <device id>- Blacklist a device. Message keys are never sent to blacklisted devices.
/verify <user id> <device id> [fingerprint]- Verify a device. If the fingerprint is not provided, interactive emoji verification will be started.
/export <path>- Export all message decryption keys to the given path.
/export-room <path>- Export message decryption keys for the current room to the given path.
/import <path>- Import message decryption keys from the given path.
/cross-signing <subcommand> [...]- Cross-signing commands. Somewhat experimental. (alias:
status- Check the status of your own cross-signing keys.
generate [--force]- Generate and upload new cross-signing keys. This will prompt you to enter your account password. If you already have existing keys,
self-sign- Sign the current device with cached cross-signing keys. (or in other words, verify the current device).
fetch [--save-to-disk]- Fetch your cross-signing keys from SSSS and decrypt them. If
--save-to-diskis specified, the keys are saved to disk.
upload- Upload your cross-signing keys to SSSS.
/ssss <subcommand> [...]- Secure Secret Storage (and Sharing) commands. Very experimental.
status [key ID]- Check the status of your SSSS.
generate [--set-default]- Generate a SSSS key and optionally set it as the default.
set-default <key ID>- Set a SSSS key as the default.
/pm <user id> [...]- Start a private chat with the given user(s).
/create [room name]- Create a new room.
/join <room> [server]- Join the room with the given room ID or alias, optionally through the given server.
/accept(in a room you're invited to) - Accept the invite.
/reject(in a room you're invited to) - Reject the invite.
/invite <user id>- Invite the given user ID to the room.
/roomnick <name>- Change your per-room displayname.
/tag <tag> <priority>- Add the room to
<tag>should start with
<priority>should be a float between 0 and 1. Rooms are sorted in ascending priority order.
/untag <tag>- Remove the room from
/tags- List the tags the room is in.
/leave- Leave the current room.
/kick <user id> [reason]- Kick a user.
/ban <user id> [reason]- Ban a user.
/unban <user id>- Unban a user.
/alias add <localpart>- Add
#<localpart>:your.serveras an address for the current room.
/alias remove <localpart>- Remove
#<localpart>:your.server(can be ran in any room).
/alias resolve <alias>- Resolve
#<alias>:your.serverand reply with the room ID.
/send <room id> <event type> <content>- Send a custom event.
/setstate <room id> <event type> <state key/-> <content>- Change room state.
/msend <event type> <content>- Send a custom event to the current room.
/msetstate <event type> <state key/-> <content>- Change room state in the current room.
/id- Get the current room ID.
/hprof- Create a heap profile and write it to
gomuks.heap.profin the current directory.
/cprof <seconds>- Profile the CPU usage for the given number of seconds and write it to
/trace <seconds>- Trace calls for the given number of seconds and write traces to