PWSafe Cross Platform password management tool. 
Tags: go, cli, passwordmanager, commandline
Published: 2019-06-01 15:39:40

---
title: PWSafe Cross Platform password management tool. 
published: true
description: Cross Platform simple and secure password management from commandline. 
tags: 
  - go
  - cli
  - golang
  - password-manager
  - commandline

---

Cross Platform simple and secure password management from commandline.

https://github.com/lucasepe/pwsafe

- Free [open source](https://github.com/lucasepe/pwsafe) software
- Works on [Linux](https://github.com/lucasepe/pwsafe/releases/download/v1.0.0/pwsafe-linux-amd64), [Mac OSX](https://github.com/lucasepe/pwsafe/releases/download/v1.0.0/pwsafe-darwin-amd64), [Windows](https://github.com/lucasepe/pwsafe/releases/download/v1.0.0/pwsafe-windows-amd64)

- Just a single portable binary file

Since the Password Safe [file format](https://raw.githubusercontent.com/jpvasquez/PasswordSafe/master/docs/formatV3.txt) is open-source and widely used, there are also compatible [clients](https://pwsafe.org/relatedprojects.shtml) for many platforms.

You can choose to store all your passwords in a single encrypted master password database, or use multiple databases to further organize your passwords (work and home, for example).

## Create a new password store (`init`)

```bash
| => pwsafe init -file test.dat
Secret phrase: *****
Secret phrase again: ***** 
👍 password store 'test.dat' successfully created
```

## Add a new account info (`push`)

```bash
| => pwsafe push -file test.dat -url http://www.mysecretsite.com -user pinco.pallo@gmail.com -pass abbraadabbra "My Cool Site"
Secret phrase: *****
👍 record successfully pushed to store 'test.dat'
```

## Show a summary of all records (`list`)

```bash
| => pwsafe list -file test.dat
Secret phrase: *****
+-------------------------------------------------------------------------------+
|                         /Users/lucasepe/Temp/test.dat                         |
+--------------+----------+-----------------------+-----------------------------+
| TITLE        | CATEGORY | USERNAME              | URL                         |
+--------------+----------+-----------------------+-----------------------------+
| My Cool Site |          | pinco.pallo@gmail.com | http://www.mysecretsite.com |
+--------------+----------+-----------------------+-----------------------------+
```

## Edit / Update a record (`push`)

```bash
| => pwsafe push -file test.dat -category Bank "My Cool Site"
Secret phrase: *****
👍 record successfully pushed to store 'test.dat'
```

## View a record by it's title (`pull`)

```bash
| => pwsafe pull -file test.dat "my cool site"
Secret phrase: *****
+--------------------------------------------+
|       /Users/lucasepe/Temp/test.dat        |
+--------------------------------------------+
| TITLE        : My Cool Site                |
| GROUP        : Bank                        |
| URL          : http://www.mysecretsite.com |
| USERNAME     : pinco.pallo@gmail.com       |
| PASSWORD     : abbraadabbra                |
| NOTES        :                             |
| LAST UPDATED : 2019-29-05                  |
+--------------------------------------------+
```

## Copy a specific field value to clipboard (`clip`)

Useful if you want to grab the password without showing the record content.

```bash
| => pwsafe clip -file test.dat "my cool site"
Secret phrase: *****
👍 check your clipboard for the content of the field 'pass'
```
- by default the password value is copied to clipboard (`-pass`) 
  - you can also specify `-url` or `-user`.