A Go CLI replacing the abandoned lastpass-cli (lpass). Handles vault operations (login, list, show, add typed Secure Notes, edit, delete) and LastPass Enterprise admin operations (users, groups).
The original lpass upstream is dormant, can't reliably create typed Secure Notes, and has no Enterprise API support. lpx builds on ansd/lastpass-go and fills those gaps.
M0 — bootstrap scaffold. Only lpx version and lpx --help are functional. Every other subcommand returns not implemented yet — see project plan milestone Mx. The full multi-week project plan lives in docs/project-plan.md.
Roadmap:
| Milestone | Scope |
|---|---|
| M0 | Scaffold, multi-platform build, CI (done) |
| M1 | Vault login + read (ls, show, status, logout) |
| M2 | Typed Secure Note write (the core unlock) |
| M3 | Vault edit / delete |
| M4 | Shared folder operations |
| M5 | Enterprise API foundation |
| M6 | Enterprise users + groups CRUD |
| M7 | Distribution: Homebrew tap, installer, signing |
Once releases are published:
# macOS / Linux — manual binary install
curl -sSL https://github.com/zoltanf/lpx-cli/releases/latest/download/lpx_<version>_<os>_<arch>.tar.gz | tar xz
sudo mv lpx /usr/local/bin/In the meantime, build from source:
go install github.com/zoltanf/lpx-cli/cmd/lpx@latestOr clone and build locally:
git clone https://github.com/zoltanf/lpx-cli
cd lpx-cli
go build -o lpx ./cmd/lpx
./lpx version$ lpx version
lpx 0.1.0-dev (none, built unknown, go1.26.3, darwin/arm64)
$ lpx --help
lpx is a Go CLI that replaces the abandoned lastpass-cli (lpass)...
$ lpx vault --help
$ lpx enterprise --helplpx stores its session and credentials under ~/.lpx-cli/ on macOS/Linux and %AppData%\lpx-cli\ on Windows. Override with LPX_CONFIG_DIR=/some/path.
Files (created in later milestones):
session.json— persisted vault session (M1).enterprise.env—KEY=VALUEfile withLPX_ENTERPRISE_CIDandLPX_ENTERPRISE_PROVHASH(M5). Mode0600.
Cross-platform binaries are produced by GoReleaser:
# Local snapshot build (no publishing) — produces every target binary under ./dist/
goreleaser build --snapshot --clean
# Tag and release (CI runs this on tag push)
git tag v0.1.0 && git push --tagsSupported targets: darwin/arm64, darwin/amd64, linux/amd64, linux/arm64, windows/amd64.
Requirements: Go 1.26+, golangci-lint, goreleaser.
go test ./...
golangci-lint run
goreleaser build --snapshot --cleanCI (GitHub Actions) runs build + test + lint + a cross-compile matrix on every push and PR.
MIT — Zoltan Fekete, 2026.