Skip to main content
All commands accept the global flags --url, --token, --json, --config, and --verbose.

auth

auth me

Show the currently authenticated user.
meepachat auth me

login

Log in to a MeepaChat instance. Saves credentials to ~/.config/meepachat/config.json. Browser OAuth (default):
meepachat login --url https://chat.example.com
Interactive credential prompts (no browser):
meepachat login --url https://chat.example.com --no-browser
Non-interactive credentials:
meepachat login --url https://chat.example.com --email alice@example.com --password secret
Save a token directly:
meepachat login --url https://chat.example.com --token YOUR_TOKEN
Save a bot token:
meepachat login --url https://chat.example.com --token BOT_ID.SECRET --bot
FlagDescription
--no-browserSkip browser login; use interactive credential prompts
--emailEmail for non-interactive credential login
--passwordPassword for non-interactive credential login
--tokenSave token directly (skips interactive login)
--botMark token as bot token (use with --token)

logout

Clear the authentication token from the config file. Preserves the instance URL.
meepachat logout

servers

Manage servers.

servers list

List servers you belong to.
meepachat servers list

servers create

Create a new server.
meepachat servers create --name "My Server"
FlagRequiredDescription
--nameYesServer name

servers get

Get details for a server.
meepachat servers get <serverID>

servers update

Rename a server.
meepachat servers update <serverID> --name "New Name"
FlagRequiredDescription
--nameYesNew server name

servers delete

Delete a server.
meepachat servers delete <serverID>

servers leave

Leave a server.
meepachat servers leave <serverID>

servers members

List members of a server. Supports cursor pagination via --after.
meepachat servers members <serverID>
FlagDescription
--afterCursor for pagination (member ID)
--limitMax number of members to return

channels

Manage channels. All channel subcommands require --server <serverID>.

channels list

List channels in a server.
meepachat channels list --server <serverID>

channels create

Create a channel.
meepachat channels create --server <serverID> --name general
FlagRequiredDescription
--nameYesChannel name
--topicNoChannel topic
--privateNoMake the channel private

channels get

Get details for a channel.
meepachat channels get <channelID> --server <serverID>

channels update

Update a channel’s name or topic.
meepachat channels update <channelID> --server <serverID> --name renamed --topic "New topic"
FlagDescription
--nameNew channel name
--topicNew channel topic

channels delete

Delete a channel.
meepachat channels delete <channelID> --server <serverID>

channels join

Join a channel.
meepachat channels join <channelID> --server <serverID>

channels leave

Leave a channel.
meepachat channels leave <channelID> --server <serverID>

channels members

List members of a channel.
meepachat channels members <channelID> --server <serverID>

channels archive

Archive a channel.
meepachat channels archive <channelID> --server <serverID>
FlagDescription
--unarchiveUnarchive instead of archive

messages

Manage messages.

messages list

List messages in a channel. Results are ordered newest first.
meepachat messages list --server <serverID> --channel <channelID>
FlagRequiredDescription
--serverYesServer ID
--channelYesChannel ID
--limitNoMax messages to return (default 50, max 100)
--beforeNoReturn messages older than this message ID

messages send

Send a message to a channel.
meepachat messages send "Hello, world!" --server <serverID> --channel <channelID>
FlagRequiredDescription
--serverYesServer ID
--channelYesChannel ID

messages edit

Edit a message.
meepachat messages edit <messageID> "Updated content"

messages delete

Delete a message.
meepachat messages delete <messageID>

messages thread

List thread replies for a message.
meepachat messages thread <messageID>
FlagDescription
--limitMax replies to return
--beforeReturn replies older than this message ID

dms

Manage direct messages.

dms list

List DM conversations in a server.
meepachat dms list --server <serverID>

dms open

Open (or retrieve) a DM channel with a user.
meepachat dms open <userID> --server <serverID>

dms messages

List messages in a DM channel.
meepachat dms messages <channelID>
FlagDescription
--limitMax messages to return
--beforeReturn messages older than this message ID

dms send

Send a message in a DM channel.
meepachat dms send <channelID> "Hey there!"

bots

Manage bots.

bots list

List bots you own.
meepachat bots list

bots create

Create a new bot. Prints the bot token on creation — save it immediately.
meepachat bots create --username mybot --server <serverID>
FlagRequiredDescription
--usernameYesBot username
--serverYesServer ID to add the bot to
--display-nameNoBot display name

bots get

Get bot details.
meepachat bots get <botID>

bots delete

Delete a bot.
meepachat bots delete <botID>

bots regenerate-token

Regenerate a bot’s token. The old token is immediately invalidated.
meepachat bots regenerate-token <botID>

bots servers

List servers a bot belongs to.
meepachat bots servers <botID>

bots add-to-server

Add a bot to a server.
meepachat bots add-to-server <botID> --server <serverID>
FlagRequiredDescription
--serverYesServer ID

bots remove-from-server

Remove a bot from a server.
meepachat bots remove-from-server <botID> --server <serverID>
FlagRequiredDescription
--serverYesServer ID

invites

Manage invite links.

invites create

Create an invite link for a server.
meepachat invites create --server <serverID>
FlagRequiredDescription
--serverYesServer ID
--expires-inNoExpiry duration (e.g. 24h, 7d)
--max-usesNoMaximum number of uses

invites list

List all invites for a server.
meepachat invites list --server <serverID>

invites get

Get invite details by code.
meepachat invites get <code>

invites revoke

Revoke an invite.
meepachat invites revoke <inviteID>

invites join

Join a server using an invite code.
meepachat invites join <code>

groups

Manage channel groups (categories). All group subcommands require --server <serverID>.

groups list

List channel groups in a server.
meepachat groups list --server <serverID>

groups create

Create a channel group.
meepachat groups create --server <serverID> --name "Development"
FlagRequiredDescription
--nameYesGroup name

groups update

Rename a channel group.
meepachat groups update <groupID> --server <serverID> --name "Engineering"
FlagRequiredDescription
--nameYesNew group name

groups delete

Delete a channel group.
meepachat groups delete <groupID> --server <serverID>

groups reorder

Reorder channel groups.
meepachat groups reorder --server <serverID> --ids "id1,id2,id3"
FlagRequiredDescription
--idsYesComma-separated group IDs in the desired order

reactions

Manage emoji reactions on messages.

reactions add

Add a reaction to a message.
meepachat reactions add <messageID> <emoji>

reactions remove

Remove a reaction from a message.
meepachat reactions remove <messageID> <emoji>

Search messages across a server.
meepachat search "query terms" --server <serverID>
FlagRequiredDescription
--serverYesServer ID to search in
--limitNoMax results to return
--offsetNoNumber of results to skip (for pagination)

notifications

Manage notifications and unread state.

notifications unread

List channels with unread messages.
meepachat notifications unread

notifications mark-read

Mark a channel as read.
meepachat notifications mark-read <channelID>

notifications preferences

Get notification preferences for a server.
meepachat notifications preferences --server <serverID>

completion

Generate shell completion scripts.
meepachat completion [bash|zsh|fish|powershell]
See Shell completion for per-shell setup instructions.

version

Print version, commit, and build date.
meepachat version
meepachat 0.1.0
  commit:  abc1234
  built:   2026-01-15T00:00:00Z