Why I Switched to a CLI Password Manager (and What I Lost Along the Way)

Why a CLI password manager fixed my security and workflow headaches—and the real tradeoffs I ran into while making the switch in India.

Written by: Arjun Malhotra

A developer's laptop screen showing a terminal with password-manager commands and a notebook beside it
Image credit: Unsplash / Glen Carrie

I used to let browser password managers do the heavy lifting: save the password, offer autofill, and nag me to create a stronger one. It was convenient—until it wasn’t. After a few sketchy extension incidents, a flaky cross-device sync, and repeated moments where I couldn’t access important credentials on a flaky mobile connection in a client site, I moved to a CLI password manager. It changed how I work for the better, but it also introduced real friction I didn’t expect.

Why I picked a CLI password manager

How I structured my setup (practical, not perfect)

I use a git-backed vault encrypted with GPG. Each password is a small file named after the service (keepass-style folders for grouping). My workflow:

This lets me do things like rotate a DB password, commit the new secret, and have my CI pull and decrypt it during deployments. No browser involved.

Three neat wins I didn’t expect

  1. Fewer accidental leaks. Because I rarely paste credentials into a browser, I stopped leaving passwords in Slack, emails, or plain text temp files. The discipline of explicit copy-and-paste helped.

  2. Better team ownership. Our small team treats the vault like code: review a credential change, see a commit message explaining why it changed. That single change reduced “who changed the DB password?” calls during late deployments.

  3. Cheap disaster recovery. If my laptop dies, the encrypted git repo + my offline GPG key (I keep a copy on an air-gapped USB in a safe) are all that’s needed. No vendor account recovery hoops.

Tradeoffs and where the CLI model stumbles

Tips for a practical transition

Is a CLI password manager for you?

If you’re a developer, ops person, or part of a small team that values control and automation, the CLI password manager model is liberating. It forces better habits and integrates cleanly with code and CI. But it’s not magic: you trade immediate convenience and smooth mobile/in-app autofill for security, transparency, and control. For mixed teams or heavy mobile-first users, a hybrid approach—CLI for high-risk secrets, a vetted password manager for everyday autofill—often hits the best compromise.

I still keep a browser password manager for low-risk sites and for the inevitable moments when I need fast mobile access. The CLI vault is where the keys to production, our bank accounts, and critical APIs live. That split has reduced late-night incident chaos and forced us to document why every secret exists—two wins that, for me, outweigh the occasional annoyance of extra copy-paste.

If you try it, expect a small productivity dip during the first month. After that, you’ll either love the clarity or miss the smooth autofill—and at least you’ll understand which tradeoffs you made and why.