Record Commands
All the commands related to Manipulating records

Commands:

Keeper Command Reference

Whether using the interactive shell, CLI or JSON config file, Keeper supports the following commands, each command supports additional parameters and options.
To get help on a particular command, run:
help <command>
Command
Explanation
list or l
List all records or search via a regular expression.
search or s
Search all records via a regular expression.
ls
ls List folder contents
tree
Display entire folder structure as a tree
cd
Change current folder
get or g
Retrieve and display a Keeper Record/Folder/Team in printable or JSON format.
find-password
Display the specified Keeper Record password field to the system output
clipboard-copy
Copy the specified Keeper Record password field to the clipboard
record-history or rh
Show the history or a record's modifications
totp
Display the Two Factor code for a given record, or show a list of records with Two Factor codes if no record is specified
download-attachment
Download all attachments of a specified record
upload-attachment
Upload and attach a file to a given record
delete-attachment
Delete an attachment from a given record
file-report
Show a report of all the files that you have access to in the vault
list-sf or lsf
Show details about all shared folders in the vault
create-user
Send an invitation to a given email address to join Keeper
list-team or lt
List all teams that you have access to
add or a
Add a record
edit
Edit an existing record
rm
Remove a record
append-notes or an
Append notes to a record
mkdir
Create a folder or shared folder
rmdir
Remove a folder or shared folder and its contents
mv
Move a record to or folder
ln
Create a link between records or folders
find-duplicate
Locate duplicate records in the vault based on specified attributes and fields.

list command:

Command: list or l
Detail: List all records or search via a regular expression
Switches:
-v, --verbose verbose output (if record names are too long for the column)
Examples:
1
l
2
l twitter
3
l ^(?!.*FTP).*Azure.*$
Copied!
  1. 1.
    List all records
  2. 2.
    List all records with the string twitter
  3. 3.
    List all 'Azure' records that do not contain the string 'FTP" (Using regex)

search command:

Command: search or s
Detail: Search the vault using a regular expression
Parameters:
Regular expression to use with search
Switches:
-v, --verbose verbose output
Examples:
1
s dropbox
2
s [0-z]*\.org
Copied!
  1. 1.
    Search for records containing "dropbox"
  2. 2.
    Search for records with a string of numbers and letters only ending in ".org"

ls command:

Command: ls
Detail: List folder contents
Switches:
-l, --list show detailed list -f, --folders display folders -r, --records display records -v, --verbose verbose output
Examples:
1
ls -l
2
ls -r
3
ls -l -r -v
Copied!
  1. 1.
    Detailed list of folder contents
  2. 2.
    List of only records in a folder (No sub folders)
  3. 3.
    Detailed list of records, and show long titles even if they skew the table

tree command:

Command: tree
Detail: Display the entire folder structure as a tree, starting from the current location
Parameters:
Location to use as tree root (optional)
Examples:
1
tree
2
tree "Office Codes/"
Copied!
  1. 1.
    Display entire folder structure as a tree, using the current location as the root
  2. 2.
    Display entire folder structure starting at sub directory "Office Codes" folder as the root

cd command:

Command: cd
Detail: Change current directory
Parameters:
Location to move to.
Quotation marks can be used to move to folders with spaces or slashes in their name.
backslash (\) can be used to escape quotation marks in a folder's name
Examples:
1
cd social/
2
cd financial/banks/
3
cd /
4
cd "folder/with/slashes"
5
cd folder\"with\"quotes
Copied!
  1. 1.
    Move to a folder named "social" in the current directory
  2. 2.
    Move to a folder named 'banks' inside a folder named 'financial'
  3. 3.
    Move to the vault root
  4. 4.
    Move to a folder named "folder/with/slashes"
  5. 5.
    Move to a folder named 'folder"with"quotes'

find-password command:

Command: find-password
Detail: Display a specified Keeper record's password to the system output, given that record's UID or path
Parameters:
Path or UID of a record
Switches:
--username <USERNAME> match the login name using regex (optional). The given title or UID must also match to find the record
--output <{clipboard, stdout}> choose the destination of the output
  • stdout - display password to system output (default)
  • clipboard - copy password to clipboard
-l, --login output login name instead of password
Examples:
1
find-password rvwIBG_ban2VTH64OsnzLn
2
find-password office/Zoom
3
find-password rvwIBG_ban2VTH64OsnzLn --output clipboard
4
find-password social/Twitter -l
5
find-password reddit --username .*second.*
Copied!
  1. 1.
    Show the password of a specific record with the given UID
  2. 2.
    Show the password of a record with the title "Zoom" in the "office" folder
  3. 3.
    Copy the password of a specific record to the clipboard
  4. 4.
    Show the login of a record with the title "Twitter" in the "social" folder
  5. 5.
    Show the password for a record with a title that starts with "reddit", and "second" as part of the username

clipboard-copy command:

Command: clipboard-copy
Detail: Copy a specified Keeper record's password to the clipboard, given that record's UID or path
Parameters:
Path or UID of record
Switches:
--username <USERNAME> match the login name using regex (optional). The given title or UID must also match to find the record
--output <{clipboard, stdout}> choose the destination of the output
  • clipboard - copy password to clipboard (default)
  • stdout - display password to system output
-l, --login output login name instead of password
Examples:
1
clipboard-copy rvwIBG_ban2VTH64OsnzLn
2
clipboard-copy office/Zoom
3
clipboard-copy rvwIBG_ban2VTH64OsnzLn --output stdout
4
clipboard-copy social/Twitter -l
5
clipboard-copy reddit --username .*second.*
Copied!
  1. 1.
    Copy the password of a specific record with the given UID to the clipboard
  2. 2.
    Copy the password of a record with the title "Zoom" in the "office" folder to the clipboard
  3. 3.
    Show the password of a specific record with the given UID
  4. 4.
    Copy the login of a record with the title "Twitter" in the "social" folder to the clipboard
  5. 5.
    Copy the password for a record with a title that starts with "reddit", and "second" as part of the username to the clipboard

get command:

Command: get or g
Detail: Retrieve and display a Keeper Record/Folder/Team in printable or JSON format, given a corresponding UID
Parameters:
UID of a record, folder, or team
Switches:
--format<{detail, json, password}> choose the format of the output
  • detail - a detailed view of the Record/Folder/Team (default)
  • json - json formatted details
  • password - only the password
Examples:
1
get rvwIBG_ban2VTH64OsnzLn
2
g rvwIBG_ban2VTH64OsnzLn --format json
Copied!
  1. 1.
    Show the details of a specific record
  2. 2.
    Show the details of a specific record in json format

record-history command:

Command: record-history or rh
Detail: Show the history of a record's modifications, given that record's UID
Parameters:
UID of record
Switches:
-a, --action <{list, diff, show, restore}> perform am action on the record
  • list - show revisions
  • diff - show changes made at each revision
  • show - show details about the current revision
  • restore - restore back to a previous revision (requires -r or --revision argument)
-r, --revision <REVISION NUMBER> only show details for a specific revision
Examples:
1
record-history rvwIBG_ban2VTH64OsnzLn
2
record-history rvwIBG_ban2VTH64OsnzLn -a diff
3
record-history rvwIBG_ban2VTH64OsnzLn -r 4
4
record-history rvwIBG_ban2VTH64OsnzLn -a restore -r 2
Copied!
  1. 1.
    List of specific record's modification history
  2. 2.
    List of the changes made in each version of the specific record
  3. 3.
    Details of the 4th revision of the specific record (V.4)
  4. 4.
    Revert the specified record to its 2nd version

totp command:

Command: totp
Detail: Display the Two Factor code for a record, given its path or UID. Show a list of records with Two Factor codes if no path or UID is given
Parameters:
Path or UID of record (optional)
Switches:
-p, --print display the Two Factor code
--details display TOTP token details
Examples:
1
totp
2
totp Dropbox
3
totp U-QSpjIL9e9_huXrbTwz4Q
4
totp Dropbox -p
5
totp U-QSpjIL9e9_huXrbTwz4Q --details
Copied!
  1. 1.
    List of records with TOTP Two Factor codes
  2. 2.
    Show a Two Factor code with timer for the "Dropbox" record
  3. 3.
    Show a Two Factor code with timer for the record with the given UID
  4. 4.
    Display the Two Factor code only for the "Dropbox" record
  5. 5.
    Display the TOTP token details for the record with the given UID

download-attachments command:

Command: download-attachments
Detail: Download all files attached to a specified record, given that record's path or UID
Parameters:
Path or UID of record
Examples:
1
download-attachments "documents/Financial Records"
2
download-attachments _j0SPqnUeUCZN5UoEfD6cg
Copied!
  1. 1.
    Download all attachments of the record titled "Financial Records" in the "documents" folder
  2. 2.
    Download all attachments of the record with the given UID

upload-attachment command:

Command: upload-attachments
Detail: Upload a file and attach it to a specific record, given that record's path or UID
Parameters:
Path or UID of record
Switches:
--file <FILENAME> file name to upload (required)
Examples:
1
upload-attachment "documents/Financial Records" --file C:/June_2021.pdf
2
upload-attachment _j0SPqnUeUCZN5UoEfD6cg --file C:/Users/pictures/5_15_21.jpeg
Copied!
  1. 1.
    Attach a pdf file to the "Financial Records" record in the "documents" folder
  2. 2.
    Attach an image to the record with the given UID

delete-attachment command:

Command: delete-attachments
Detail: Delete a file attached to a specified record, given that record's path or UID
Parameters:
Path or UID of record
Switches:
--name <FILE> name or ID of the file to delete (required)
Examples:
1
delete-attachment "documents/Financial Records" --name June_2021.pdf
2
delete-attachment _j0SPqnUeUCZN5UoEfD6cg --name 5_15_21.jpeg
Copied!
  1. 1.
    Delete a pdf file named "June_2021.pdf" from the "Financial Records" record in the "documents" folder
  2. 2.
    Delete an image named "5_15_21.jpg" from the record with the given UID

file-report command:

Command: file-report
Detail: Show a report of details of all files that you can access in the vault. Report consists of: Title, Record UID, and File ID
Switches:
-d, --try-download attempt to download all the attachments in the vault
Examples:
1
file-report
2
file-report -d
Copied!
  1. 1.
    Show a report of all the files attached to records in the vault
  2. 2.
    Attempt to download all the files attached to records in the vault

list-sf command:

Command: list-sf or lsf
Detail: Display the UID, Name, Default Permissions, Record Permissions, User Permissions, and Team Permissions for all shared folders in the vault
Examples:
1
lsf
Copied!
  1. 1.
    Show details for all shared folders in the vault

create-user command:

Command: create-user
Detail: Send an invitation to a given email address to join Keeper
Parameters:
User's email address
Switches:
Enterprise Only
--name <Name> user's name
--node <NODE> name or ID of node to add user to
Examples:
1
create-user [email protected]
2
--ENTERPRISE ONLY--
3
create-user [email protected] --name "John Doe" --node Chicago
Copied!
  1. 1.
    Send an invitation email to join Keeper to [email protected] --Below command Enterprise Only--
  2. 2.
    Send an invitation to John Doe to join Keeper, name the new user "John Doe" and add him to the "Chicago" node

list-team command:

Command: list-team or lt
Detail: Display the UID and Name for each Team that you have access to
Examples:
1
list-team
Copied!
  1. 1.
    Show details for all teams you have access to

add command (Record Types):

Command: add or a
Detail: Add a record to the vault with dot notation
This is the add command for Commander with record types (version 16 and higher). For earlier versions see the legacy command (below).
Use version command to see the current Commander version
Parameters:
New record data:
Record type. title, and field name and values in dot notation.
Field names begin with f.
Custom fields begin with c. followed by the field type and field name separated by a dot (.)
Format: type=login title=myRecord f.login=myUsername f.password=l05m-2ekyM08Q c.text.pin=4634
*Each record type has a unique set of fields, see documentation on record-type-info for more information on record types
Switches:
-v3d, --data <DATA> create records from a json format string
-v3f, --from-file <DATA FILE> create records from a file
-a, --attach <FILENAME> attach a file to the record. (*Also works with legacy add)
-g, --generate generate a random password for the record. (*Also works with legacy add)
--Legacy-- Use the --legacy option to create a 'login' type record using the legacy add command format
-v2, --legacy use legacy add mode (commands below apply to ONLY legacy add mode)
-t, --title <TITLE> set record's title
--login <LOGIN> set value for the record's login field
--pass <PASSWORD> set value for the record's password field
--url <URL> set value for the record's url field
--notes <NOTES> set value for the record's notes field
--custom <CUSTOM> add custom fields and corresponding values using json or comma separated values
  • json format: '{"name1": "value1", "name2":"value2" }'
  • csv format: "name1: value1, name2: value2"
--folder <FOLDER> path or UID of a folder to add the record to
-f, --force create record without prompting to fill in login, password,
Examples:
1
add type=login title=Adobe [email protected] f.password=d=A0_Z*X081{dXjt f.url=adobe.com
2
add --data '{"type":"login", "title":"gmail", "fields": [{"type":"login","value":"john.doe"},{"type":"password", "value":"[email protected]"}]}'
3
add -v3f records_data/new_user_records.txt
4
add type=login title=Benefits c.text.pin=18897
5
--Legacy Add--
6
add --legacy -t Twitter
7
add -v2 -t Dropbox --login [email protected] --pass [email protected]&$p1!7tH --url www.dropbox.com
8
add -v2 -t Reddit --folder social --login security_lover --url www.reddit.com -g
9
add -v2 -t Bank --custom "Routing Number: 123456, Account Number: 555555" -f
Copied!
  1. 1.
    Add a new record with the type login and known username, password, and URL values
  2. 2.
    Add a new record from a json string
  3. 3.
    Add a new record from a txt file
  4. 4.
    Add a new login type record with a custom text-type field named "pin" with a value of 18897 --Below examples are of legacy add mode--
  5. 5.
    Add a new record titled "Twitter". Prompts for login, password, and URL will follow.
  6. 6.
    Add a new record for Dropbox with an existing login and password
  7. 7.
    Add a new record for Reddit in the "social" folder with a randomly generated password
  8. 8.
    Add a new record for a bank account with "Routing Number" and "Account Number" fields and do not prompt for login, password, or url

add command (Legacy):

Command: add or a
Detail: Add a record to the vault with the given title
This is the add command for Commander version 4.88 and earlier. For later versions see the record types command (above).
Use version command to see the current Commander version
Parameters:
Record title
Switches:
--login <LOGIN> set value for the record's login field
--pass <PASSWORD> set value for the record's password field
--url <URL> set value for the record's url field
--notes <NOTES> set value for the record's notes field
--custom <CUSTOM> add custom fields and corresponding values using json or comma separated values
  • json format: '{"name1": "value1", "name2":"value2" }'
  • csv format: "name1: value1, name2: value2"
Note: Custom field values that have the following format ${file: filename} will be replaced with the contents of the local file specified by filename
--folder <FOLDER> path or UID of a folder to add the record to
-f, --force create record without filling in login, password, url
-g, --generate generate a random password for the record
Examples:
1
add Twitter
2
add Dropbox --login [email protected] --pass [email protected]&$p1!7tH --url www.dropbox.com
3
add Reddit --folder social --login security_lover --url www.reddit.com -g
4
add Bank --custom "Routing Number: 123456, Account Number: 555555" -f
Copied!
  1. 1.
    Add a new record titled "Twitter". Prompts for login, password, and URL will follow.
  2. 2.
    Add a new record for Dropbox with an existing login and password
  3. 3.
    Add a new record for Reddit in the "social" folder with a randomly generated password
  4. 4.
    Add a new record for a bank account with "Routing Number" and "Account Number" fields and do not prompt for login, password, or url

edit command (record types):

Command: edit
Detail: Edit an existing record, given that record's path or UID
This is the edit command for Commander with record types (version 16 and later). For earlier versions use the legacy edit command (below). The edit command is backwards compatible.
Use version command to see the current Commander version
Parameters:
Field names and values in dot notation
fields other than title begin with "f."
custom fields begin with "c." followed by the field type followed by the custom field name
Format:edit -r Twitter title=TwitterSecond f.login=john.doe c.text.security_question=purple
Switches:
-r, --record <RECORD PATH or UID> path or UID of the record to edit
-v3d. --data <JSON DATA> edit record using json formatted data
-v3f, --from-file <FILE> edit records using data from a file
-g, --generate generate a random password for the record
--login <LOGIN> set value for the record's login field
--pass <PASSWORD> set value for the record's password field
--url <URL> set value for the record's url field
--notes <NOTES> set value for the record's notes field
--custom <CUSTOM> add custom fields and corresponding values using json or comma separated values
  • json format: '{"name1": "value1", "name2":"value2" }'
  • csv format: "name1: value1, name2: value2"
Note: Custom field values that have the following format ${file: filename} will be replaced with the contents of the local file specified by filename
Examples:
1
edit -r Twitter title=TwitterSecond f.login=john.doe c.text.security_question=purple
2
edit -r Reddit --login "John.Doe"
3
edit -r w6AZ13kI8d326j1HEUTqmQ --data '{ "title":"gmail", "fields": [{"type":"password", "value":"[email protected]"}]}'
4
edit -r KEdxyHgtCOv3hBdjz_aJEw --from-file data/BankRecord.txt
Copied!
  1. 1.
    edit the title, login, and custom field named "security_question" of the record named "Twitter"
  2. 2.
    edit the login field of the 'Reddit' record
  3. 3.
    edit the title and password of a record with the given UID using a json string
  4. 4.
    edit a record with the given UID using data from a file

edit command (legacy):

Command: edit
Detail: Edit an existing record, given that record's path or UID
This is the edit command for Commander version 4.88 and earlier. For later versions see the record types command (above). The edit command is backwards compatible.
Use version command to see the current Commander version
Parameters:
Path or UID of record
Switches:
--login <LOGIN> set value for the record's login field
--pass <PASSWORD> set value for the record's password field
--url <URL> set value for the record's url field
--notes <NOTES> set or add value to the record's notes field. Start value with "+" to add to notes.
--custom <CUSTOM> add or edit custom fields and corresponding values using json or comma separated values.
  • json format: '{"name1": "value1", "name2":"value2" }'
  • csv format: "name1: value1, name2: value2"
If the field name matches an existing custom field, the value will be set to the new value, if the field name is new it is added to the existing custom fields.
-g, --generate generate a random password for the record
Examples:
1
edit Dropbox --login [email protected] --pass [email protected]&$p1!7tH
2
edit Reddit -g
3
edit finance_records/June_2022 --notes "+Paid in full June 16th"
4
edit w6AZ13kI8d326j1HEUTqmQ --custom '{"Mother's Maiden Name":"Smith"}'
Copied!
  1. 1.
    Edit the "Dropbox" record, changing the login and password to entered values
  2. 2.
    Generate a random password for the "Reddit" record
  3. 3.
    Append a note to the "June_2022" record in the "finance_records" folder
  4. 4.
    Set a security question and answer as a custom field in the record with the given UID

rm command:

Command: rm
Detail: Remove a record with a given path or UID
Parameters:
Path or UID of record
Switches:
--purge remove the record from all folders and purge it from the trash
-f, --force do not prompt
Examples:
1
rm social/Twitter
2
rm -wAZ13kI8d326j1HEUTqmQ -f
3
rm Bank --purge
Copied!
  1. 1.
    Remove the "Twitter" record in the "social" folder. Will be prompt to enter "y" to approve.
  2. 2.
    Remove the record with the given UID and don't prompt to approve.
  3. 3.
    Remove the "Bank" record and purge it from the trash (record will not be recoverable)

append-notes command:

Command: append-notes or an
Detail: Append to the notes of a record with a given path or UID
Parameters:
Path or UID of record
Switches:
--notes <NOTES> notes to append
Examples:
1
append-notes social/Twitter
2
an KEdxyHgtCOv3hBdjz_aJEw --notes "Outdated as of June 2021"
Copied!
  1. 1.
    Append to the notes of the "Twitter" record in the "social" folder. Will be prompted to enter notes to add
  2. 2.
    Append to the notes of the record with the given UID with the message "Outdated as of June 2021"

mkdir command:

Command: mkdir
Detail: Create a folder or shared folder at the given path
Parameters:
Path/name of new folder
Switches:
-sf, --shared-folder create a shared folder
-uf, --user-folder create a user folder (not shared)
-a, --all set default folder permissions to allow any user to manage users, manage records, share records, and edit records
-u, --manage-users set default folder permissions to allow all users to manage user access
-r, --manage-records set default folder permissions to allow all users to manage records
-s, --can-share set default folder permissions to allow all users to share records
-e, --can-edit set default folder permissions to allow all users to edit records
Examples:
1
mkdir finance/personal
2
mkdir social -uf
3
mkdir office-codes -sf -s
Copied!
  1. 1.
    Create a folder named "personal" in the existing "finance" folder. Will be prompted to create a shared folder or user folder
  2. 2.
    Create a user folder named "social"
  3. 3.
    create a shared folder named "office-codes" with the default permissions set to allow all users to share the records in the folder

rmdir command:

Command: rmdir
Detail: Delete a folder or shared folder given the folder's path or UID
Parameters:
Path of folder
Accepts patterns, which will remove all matching folders.
  • * matches everything
  • ? matches any single character
  • [seq] matches any character in seq
  • [!seq] matches any character not in seq
Accepts multiple parameters separated by a space
Switches:
-f, --force Delete folder without prompting
-q, --quiet returns no output when used in conjunction with -f
Examples:
1
rmdir social/temporary
2
rmdir zXuYXRYWgsie5TBPzQACLw -f
3
rmdir [A-Z]*2
4
rmdir DevOps/secrets MyFolder
5
rmdir t5uYXRYWgsie5TBPzQACLw -f -q
6
rmdir *
Copied!
  1. 1.
    Delete the folder named "temporary" in the "social" folder. Will be prompted to confirm
  2. 2.
    Delete the folder with the given UID and don't prompt to confirm
  3. 3.
    Delete all folders with only letters in the name, ending in '2'
  4. 4.
    Delete the folder 'secrets' in the 'DevOps' folder, and the 'MyFolder' folder
  5. 5.
    Delete the folder with the given UID and don't show any output
  6. 6.
    Remove all folders from the Keeper Vault

mv command:

Command: mv
Detail: Move a record or folder to another folder, given the record or folder's path or UID and the path or UID of the destination folder
Parameters:
Path or UID of record followed by path or UID of destination folder
Switches:
-f, --force move record or folder without prompting
-s. --can-reshare anyone can reshare records
-e, --can-edit anyone can edit records
Examples:
1
mv Twitter social
2
mv zXuYXRYWgsie5TBPzQACLw /
Copied!
  1. 1.
    Move the "Twitter" record into the "social" folder
  2. 2.
    Move the record with the given UID to the root folder

ln command:

Command: ln
Detail: Link a record or folder to another folder, given the record or folder's path or UID and the path or UID of the destination folder
Parameters:
Path or UID of record followed by path or UID of destination folder
Switches:
-f, --force move record or folder without prompting
-s. --can-reshare anyone can re-share records
-e, --can-edit anyone can edit records
Examples:
1
ln Twitter social
2
ln zXuYXRYWgsie5TBPzQACLw /
Copied!
  1. 1.
    Link the "Twitter" record with the "social" folder
  2. 2.
    Link the record with the given UID to the root folder

find-duplicate command:

Command: find-duplicate
Detail: Useful tool to help locate duplicate records in the vault based on one or more record fields.
Parameters:
Provide a list of fields to use for comparison.
Switches:
--title Match the title field to locate a duplicate
--login Match the login field to locate a duplicate
--password Match the password field to locate a duplicate
--url Match the URL field to locate a duplicate
--full Match all fields to locate a duplicate
Examples:
1
find-duplicate --title
2
find-duplicate --login --password
3
find-duplicate --login --password --url
4
find-duplicate --full
Copied!
Last modified 28d ago