I loved LastPass. It was simple and it just worked. Between having same password for every site or weak passwords that I could store in my head, LastPass was a welcome replacement and a very convenient one at it for managing website passwords and encrypted notes.

LastPass Logo


I still highly recommend LastPass for anyone that’s looking for a password manager but I recently switched to pass. I have been spending lot of time lately in Emacs and ansi-term and I was looking for a command line password manager that’s simple but very secure. Looking around, I came across pass and I have been very happy to use it as a replacement for LastPass.

The basic premise with pass is that you manage one or more .gpg files and pass provides a neat wrapper around manipulating and dealing with the .gpg files.


  • Light-weight command line utility
  • Uses GnuPG for encryption and decryption
  • Version control encrypted content using Git
  • Generate random passwords
  • Search (“grep”) within your encrypted content
  • Copy password (clip) to clipboard or show the password
  • Move, copy, rename or edit your password-store .gpg files
  • Bash completion for pass commands and password store paths

Migration and Workflow

I moved over all my passwords, notes and other encrypted information from LastPass to pass and I love my workflow now. I don’t miss the convenience of LastPass at all. It takes a second to clip my password for a given site using pass in ansi-term or iterm2 and then paste it into the web browser. The only complaint I have is that grepping files seems to be very slow when you have tons of .gpg files. Passing a path to the pass grep command would be a very good option.

You can impose any structure you want in organizing your passwords but I find the following organization very easy to work with. For e.g: If I have two Gmail accounts I would store it as below in pass

$ pass insert personal/
$ pass insert personal/

Pass Organization

Head on to the pass site for more information if you want to try it.