Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

…n powershell

Powershell users will have to disable colors in group convos or change
their color scheme

Git stats


Failed to load latest commit information.


Facebook Messenger Command line client

Use your Facebook account to chat with your friends sneakily in the command line, it's as easy as logging in, choosing a convo and chatting away.

V2.0.0 Now with Google Chrome's Puppeteer for login



npm install -g fb-messenger-cli Then fb-messenger-cli from anywhere

Choose a friend

  • Pick from a list of recent conversations
  • Use /search to find other friends
  • Easily switch between conversations with /switch


Chat away

  • Get responses instantly in real-time
  • See when your friends are typing NEW


Helpful settings and commands

  • Toggle timestamps on/off
  • Color coded people in group chats
  • Load an unlimited number of conversations
  • Use custom nicknames
  • Stay logged in forever *almost


/b /back /menu .... Get back to conversation selection

/q /exit /quit .... Quit the application

/logout ........... Exit and flush credentials

/s /switch [#] .... Quick switch to conversation number #

/search [query] ... Search your friends to chat

/v /view [#] ...... View the attachment by the number given after the type

/r /refresh ....... Refresh the current converation

/timestamp ........ Toggle timestamp for messages

/help ............. Print this message


  • 2FA is not currently supported
  • Requires a node version that supports most ES6 feautres (i.e node 6.x)

Dev install instructions

  1. Run npm install for dependencies
  2. Run node cli
  3. Develop away

Running tests

  1. cd into the test directory
  2. Mocha should be installed with the dev dependencies
  3. Run mocha regression.js**

** Make sure you've logged in to the cli at least once before running the tests. Regression.js uses your log-in to test the sending and receiving features