# Miscellaneous Commands

## Overview

This section covers general-purpose commands within the Keeper Commander CLI that support everyday tasks and CLI environment management. Rather than focusing on record-specific operations, these commands help you navigate, configure, and manage the Commander session itself.

## Command

The Following commands are supported

1. [List Command](https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/record-commands#list-command)
2. [Search Command](#search-command)
3. [Get Command](#get-command)
4. [This Device Command](https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/miscellaneous-commands/this-device-commands)
5. [Login Command](https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/login-commands#login-command)
6. [Logout Command](https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/login-commands#logout-command)
7. [Whoami Command](https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/login-commands#whoami-command)
8. [Biometric Command](https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/login-commands/biometric-login-commands)
9. [Sync Down Command](#sync-down-command)
10. [Version Command](#version-command)
11. [Clear Command](#clear-command)
12. [Quit Command](#quit-command)
13. [Generate Command](#generate-command)
14. [List Team Command](https://docs.keeper.io/en/keeperpam/commander-sdk/keeper-commander-sdks/team-commands#list-team-command)
15. [Reset Password Command](#reset-password-command)
16. [Verify Records Command](#verify-records)
17. [Verify Shared Folders Command](#verify-shared-folders)

### Search Command

This command returns all records available in Keeper Vault that meet the defined criteria. Criteria are text or word which should be present in the record.

<details>

<summary>DotNet CLI</summary>

**Command**: `search`

**Flags**:

* `argument 1` : pattern to match in search
* `--verbose` : show all data
* `--limit` : number of records to show

**Example:**

```bash
My Vault> search login --limit 1
  #  Record UID              Title       Type   Info                                        
---  ----------------------  ----------  -----  --------------------------------------------
  1  record_uid              Example RP  login  user@example.com (at) http://localhost:5000/

First 1 found records are shown.
```

</details>

<details>

<summary>DotNet SDK</summary>

**Function:** `Vault.KeeperRecords`

There is no specific function for this. we just get keeper records and then we regex match each record data

```cshtml
var records = Vault.KeeperRecords;
```

More details on how we implemented can be found [here](https://github.com/Keeper-Security/keeper-sdk-dotnet/blob/e3755645290877b4e59638dee53242f98ee675bd/Commander/vault/VaultCommands.cs#L401).

</details>

<details>

<summary>Power Commander</summary>

**Command:** `Get-KeeperRecord`

**Flags**:

* `Uid` : returns record with matching Uid
* `Filter` : Matches record content with what is given and returns matching ones

**Example:**

```powershell
PS> Get-KeeperRecord -Filter "Demo Record"

UID                    Type  Title         Info
---                    ----  -----         ----
record_uid             login Demo Record 1 demo@email.com (at) https://demo.acmecorp.com
record_uid             login Demo Record 2 demo2@email.com (at) https://acmecorp.com
```

</details>

<details>

<summary>Python CLI</summary>

**Command:** `search`

**Flags:**

`-v` `--verbose` Show detailed verbose ourput

`-c` `--categories` Single letter input to specify record, team or shared folder

`pattern` Search criteria for vault objects

**Example:**

```sh

My Vault> search -c r record_title

  #  Record UID              Type    Title         Description
---  ----------------------  ------  ------------  -----------------------------------------
  1  record_uid                      record_title
```

</details>

<details>

<summary>Python SDK</summary>

**Function:** `find_records`

```python
records = [x for x in vault.vault_data.find_records(criteria=Optional[str], record_type=Optional[Union[str, Iterable[str]]], record_version=Optional[Union[int, Iterable[int]]])]
```

* criteria -> Text to be present in the record
* record\_types -> Return record of given record types
* record\_version -> Return record of given record version

</details>

### Get Command

This command returns information for a given UID. The UID can be for a record, folder, shared folder or a team. The information can be printed as a json or as a list of details

<details>

<summary>DotNet CLI</summary>

**Command**: `get`

**Flags:**

* `uid` : Uid of Record or Shared folder or Folder

**Example:**

```bash
My Vault> get <UID>                       

                    Record UID:  <UID>                
                          Type:  login                                 
                         Title:  Login Record                          
                         Notes:                                        
                      $passkey:                                        
                        $login:  example@example.com                   
                     $password:  random password                  
                          $url:                                        
                      $fileRef:                                        
                 Last Modified:  Wednesday, August 13, 2025 12:04:28 PM
                                                                       
                   User Shares:                                        
       user@example.com  Can Edit                              
       user@example.com  Owner                                 
                                                                       
                Shared Folders:                                        
                New Test Folder  Read Only                             
```

</details>

<details>

<summary>DotNet SDK</summary>

The current implementation of the command in Dotnet CLI follows searching of the given UID among different categories

```csharp
vault.TryGetKeeperRecord(uid, out var record)
```

If UID is not found in record, then we move ahead to searching for UID among folders

```csharp
vault.TryGetSharedFolder(uid, out var sf)
```

If UID is not found in shared folder, then we check folders

```csharp
vault.TryGetFolder(uid, out var f
```

</details>

<details>

<summary>Power Commander</summary>

**Command:** `Get-KeeperRecord`

**Alias :** `kr`

**Flags**:

* `Uid` : returns record with matching Uid
* `Filter` : Matches record content with what is given and returns matching ones

**Example:**

<pre class="language-powershell"><code class="lang-powershell"><strong>PS > Get-KeeperRecord -Uid record_uid
</strong>
UID                    Type  Title        Info
---                    ----  -----        ----
record_uid             login Login Record user@example.com
</code></pre>

**Command:** `Get-KeeperChildItem`

Lists folder contents (subfolders and records).

**Alias**: `kdir`

**Flags**:

* `-Path` Folder path or UID to list (defaults to current folder)
* `-Filter` Filter results by matching Title, UID, Login, or Link fields
* `-Recursive` Include subfolders recursively
* `-Depth` Limit recursion depth
* `-SkipGrouping` Do not group results by folder
* `-ObjectType` Restrict to Folder or Record only

**Example:**

```
PS > Get-KeeperChildItem

 Vault Folder: \

Mode    UID                      Name
----    ---                      ----
f-----  QpR86NvOnfvGYf_urfltFw   A122
f----S  uL-0CrycU6fDP5UW22PQAQ   SF1
-r--O-  PmNKgQ8JfIUGlaUr5D8a6A   RAC10
```

**Command**: `Get-KeeperObject`

Retrieves any Keeper vault object by UID (record, folder, shared folder, or team).

**Alias**: `ko`

**Flags**:

* `-Uid` UID(s) to look up (Required, accepts pipeline)
* `-ObjectType` Limit search to Record, SharedFolder, Folder, or Team
* `-PropertyName` Return a specific property instead of the full object

**Example**

```powershell
PS > Get-KeeperObject -Uid "QpR86NvOnfvGYf_urfltFw"

FolderUid              Name FolderType ParentUid SubfolderCount RecordCount
---------              ---- ---------- --------- -------------- -----------
QpR86NvOnfvGYf_urfltFw A122 UserFolder           0              0
```

</details>

<details>

<summary>Python CLI</summary>

**Command:** `get <UID>`

**Flags:**

`--format` Supported display types - json, details, fields or password

`--unmask` Show sensitive data in output such as passwords

`--legacy` Show typed records as legacy

**Example:**

```sh
My Vault> get record_uid

                 UID: record_uid
                Type: login               
               Title: test
               login: 134234           
            password: ********            
                 url: https://email.com   

User Permissions:

User: user@email.com
Shareable: Yes
Read-Only: No


Shared Folder Permissions:

Shared Folder UID: shared_folder_uid


Share Admins:
users@email.com
```

</details>

<details>

<summary>Python SDK</summary>

**Function:** `load_record`

```python
record = vault.vault_data.load_record(record_uid=uid)
```

The `load_record` returns the record details. There are 4 types of records:

* `PasswordRecord` - legacy or general
* `TypedRecord`
* `FileRecord`
* `ApplicationRecord`

These classes are defined in `keepersdk.vault.vault_record`

</details>

### Sync Down Command

Synchronises the local vault by downloading and decrypting the latest data from the server. This ensures local CLI access has up-to-date information.

<details>

<summary>DotNet CLI</summary>

**Command:** `sync-down`

**Flag:**

* `--reset (Default: false)` : resets on-disk storage
* `--help` : Display this help screen.
* `--version` : Display version information.

**Example:**

```bash
My Vault > sync-down
```

</details>

<details>

<summary>DotNet SDK</summary>

**Function:**

```csharp
public async Task SyncDown(bool fullSync = false)
```

or

```csharp
public Task ScheduleSyncDown(TimeSpan delay, bool fullSync = false)
```

**Flag:**

```csharp
await vault.SyncDown();
```

</details>

<details>

<summary>Power Commander</summary>

**Command** : `Sync-Keeper`

**Flag** :

* `-SyncRecordTypes` : re-syncs record types

**Example:**

```bash
PS > > Sync-Keeper -SyncRecordTypes                
Cleared local record type cache for re-sync.
Syncing vault with Keeper server...
Vault sync completed.
```

</details>

<details>

<summary>Python CLI</summary>

**Command:** `sync-down`

**Flag:**

* `-h, --help` : show this help message and exit
* `-f, --force` : full data sync

**Example:**

```bash
My Vault> sync-down -f
Syncing...
```

</details>

<details>

<summary>Python SDK</summary>

**Function:** `sync_down`

```python
def sync_down(self, force=False)
```

</details>

### Version Command

Shows the version of the Keeper Commander CLI, along with environment details like installation path and OS.

<details>

<summary>DotNet CLI</summary>

**Command:** `version`

This command doesn't work if user is logged in. the user needs to be logged out to use this command.

**Example:**

```bash
My Vault> version
Invalid command: version

My Vault> logout

Not logged in> version
Keeper Client Version: c17.0.0
```

</details>

<details>

<summary>DotNet SDK</summary>

**Function:** Not Supported

</details>

<details>

<summary>Power Commander</summary>

**Command:** `Get-Module -Name PowerCommander -ListAvailable`

**Example:**

```powershell
PS > Get-Module -Name PowerCommander -ListAvailable


    Directory: C:\Program Files (x86)\WindowsPowerShell\Modules


ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     1.0.7      PowerCommander                      {Connect-Keeper, Sync-Keeper, Disconnect-Keeper, Get-Keepe...

```

</details>

<details>

<summary>Python CLI</summary>

**Command** : `version`

**Example:**

```bash
My Vault> version
Commander Version  17.0.0
```

</details>

<details>

<summary>Python SDK</summary>

**Function:** Not Supported

</details>

### Clear Command

Clears the CLI terminal screen for better readability.

<details>

<summary>DotNet CLI</summary>

**Command** : `clear`

**Example:**

```bash
My Vault > clear
```

</details>

<details>

<summary>DotNet SDK</summary>

**Function:** Not Supported

</details>

<details>

<summary>Power Commander</summary>

**Command:** `Clear`

</details>

<details>

<summary>Python CLI</summary>

**Command:** `clear`

**Example:**

```bash
My Vault > clear
```

</details>

<details>

<summary>Python SDK</summary>

**Function:** Not Supported

</details>

### Quit Command

Terminates the current Keeper Commander CLI session and exits the application.

<details>

<summary>DotNet CLI</summary>

**Command:** `quit`

**Example:**

```bash
My Vault > quit
```

</details>

<details>

<summary>DotNet SDK</summary>

**Function:** Not Supported

</details>

<details>

<summary>Power Commander</summary>

**Command**: `kq`

**Alias:** `Disconnect-Keeper`

</details>

<details>

<summary>Python CLI</summary>

**Command:** `quit`

**Example:**

```bash
My Vault > quit
```

</details>

<details>

<summary>Python SDK</summary>

**Function:** Not Supported

</details>

### Generate Command

Generates strong, random passwords with customisable options such as length, character sets (letters, numbers, symbols), and can copy output to clipboard or format it as JSON or a table.

<details>

<summary>DotNet CLI</summary>

**Command:** Coming Soon

</details>

<details>

<summary>DotNet SDK</summary>

**Function:** Not Supported

</details>

<details>

<summary>Power Commander</summary>

**Command:** Coming Soon

</details>

<details>

<summary>Python CLI</summary>

**Command:** `Generate`

**Flag:**

* `-h, --help` : show this help message and exit.
* `--clipboard, -cc` : Copy to clipboard.
* `--quiet, -q` : Only print password list.
* `--password-list, -p` : Also print password list apart from formatted table or json
* `--output, -o` : Output to specified file.
* `--format, -f` :Output format for displaying password, strength, and BreachWatch if available(table,json).
* `--json-indent, -i` : JSON format indent (0 for compact, >0 for pretty print).
* `--no-breachwatch, -nb` : Skip BreachWatch detection if BreachWatch is enabled for this account.
* `--number, -n` : NUMBER Number of passwords

Random:

* `--count, -c` : LENGTH Length of password.
* `-r, --rules` : RULES Use comma separated complexity integers (uppercase, lowercase, numbers, symbols).
* `--symbols, -s` : Minimum number of symbols in password or 0 for none.
* `--digits, -d` : Minimum number of digits in password or 0 for none.
* `--uppercase, -u` : Minimum number of uppercase letters in password or 0 for none.
* `--lowercase, -l` : Minimum number of lowercase letters in password or 0 for none.

Keeper Passphrase:

* `--recoveryphrase` : Generate Generate a 24-word recovery phrase.

Diceware:

* `--dice-rolls, -dr` : Number of dice rolls.
* `--delimiter, -dl` : Word delimiter(Optional) .
* `--word-list` : File path to word list(Optional).

Crypto:

* `--crypto` : Generate crypto wallet passphrase

**Example:**

```bash
My Vault> generate
Breachwatch: 1 passwords to scan
     Strength(%)  BreachWatch  Password
1    100          Passed       Q#OMxG>^H0s@j$?[]56R
```

<br>

</details>

<details>

<summary>Python SDK</summary>

**Function:** Not Supported

</details>

### Reset Password Command

This command replaces the current user's existing password with the newly provided one.

<details>

<summary>DotNet CLI</summary>

**Command:** Coming Soon

</details>

<details>

<summary>DotNet SDK</summary>

**Function:** Not Supported

</details>

<details>

<summary>Power Commander</summary>

**Command:** Coming Soon

</details>

<details>

<summary>Python CLI</summary>

**Command:** `reset-password`

**Flag:**

* `--delete-sso` deletes SSO master password
* `--current` the current master password
* `--new` the new password to set as master password

**Examples:**

```
reset-password --current <OldPassword> --new <NewPassword>
```

</details>

<details>

<summary>Python SDK</summary>

**Function:** Not Supported

</details>

### Verify Records

Check for record format integrity and perform necessary repairs to record structure.

<details>

<summary>DotNet CLI</summary>

**Command:** Coming Soon

</details>

<details>

<summary>DotNet SDK</summary>

**Function:** Not Supported

</details>

<details>

<summary>Power Commander</summary>

**Command:** Coming Soon

</details>

<details>

<summary>Python CLI</summary>

**Command:** `verify-records`

**Examples:**

```
My Vault> verify-records

There are 23 record(s) to be corrected
Do you want to proceed? [y/n]: y
```

</details>

<details>

<summary>Python SDK</summary>

**Function:** Not Supported

</details>

### Verify Shared Folders

Check for records in shared folders that do not have the correct shared data key, then add the correct key where needed

<details>

<summary>DotNet CLI</summary>

**Command:** Coming Soon

</details>

<details>

<summary>DotNet SDK</summary>

**Function:** Not Supported

</details>

<details>

<summary>Power Commander</summary>

**Command:** Coming Soon

</details>

<details>

<summary>Python CLI</summary>

**Command:** `verify-shared-folders`

**Flag:**

* `-h, --help` show this help message and exit
* `--dry-run` Display the the found problems without fixing

**Examples:**

```
My Vault> verify-shared-folders

There are 2 record key(s) to be corrected
 x4qAxrfilDryCbNCoTqZ8A  MyRecord
 D9QWFSNliXJU86-VI3zyMw  Twitter Login
Do you want to proceed? [y/n]:
```

</details>

<details>

<summary>Python SDK</summary>

**Function:** Not Supported

</details>

### Get and Set Password Visible

<details>

<summary>DotNet CLI</summary>

**Command:** Coming Soon

</details>

<details>

<summary>DotNet SDK</summary>

**Function:** Not Supported

</details>

<details>

<summary>Power Commander</summary>

**Command:** `Get-KeeperPasswordVisible`

Returns current password visibility setting (True or False).

```powershell
PS > Get-KeeperPasswordVisible
False
```

**Command**: `Set-KeeperPasswordVisible`

Toggles whether passwords are shown in plaintext or masked when displaying records.

**Flags**:\
-Visible — Show passwords in plaintext. Omit to mask them.

```powershell
PS > Set-KeeperPasswordVisible -Visible

PS > Set-KeeperPasswordVisible
```

</details>

<details>

<summary>Python CLI</summary>

**Command**: Coming Soon

</details>

<details>

<summary>Python SDK</summary>

**Command**: Coming Soon

</details>

### Show Two Factor Code.

Generates and displays TOTP (Time-based One-Time Password) codes for records that have a TOTP field configured. Shows the current code, elapsed seconds, and remaining seconds before the code expires. Supports both legacy Password Record and Typed Record formats.

<details>

<summary>DotNet CLI</summary>

**Command:** Coming Soon

</details>

<details>

<summary>DotNet SDK</summary>

**Function:** Not Supported

</details>

<details>

<summary>Power Commander</summary>

**Command:** `Show-TwoFactorCode`

**Flags**:\
-Records — Record UID(s) or record objects (Required, accepts pipeline input)

```powershell
PS > Show-TwoFactorCode -Records "recordUid123"
```

**Command**: `Set-KeeperPasswordVisible`

Toggles whether passwords are shown in plaintext or masked when displaying records.

**Flags**:\
-Visible — Show passwords in plaintext. Omit to mask them.

```powershell
PS > Set-KeeperPasswordVisible -Visible

PS > Set-KeeperPasswordVisible
```

</details>

<details>

<summary>Python CLI</summary>

**Command**: Coming Soon

</details>

<details>

<summary>Python SDK</summary>

**Command**: Coming Soon

</details>

### Get Keeper Record Password and Report

<details>

<summary>DotNet CLI</summary>

**Command:** Coming Soon

</details>

<details>

<summary>DotNet SDK</summary>

**Function:** Not Supported

</details>

<details>

<summary>Power Commander</summary>

**Command:** `Get-KeeperRecordPassword`

Extracts the password from a Keeper record by UID, name, title, or record object. Returns the plaintext password string.

**Flags**:

* `-Record` Record UID, name, title, or KeeperRecord object (Required, positional)
* `-Silent` Suppress error/warning messages; returns $null instead

**Example**:

```powershell
PS > Get-KeeperRecordPassword -Record "Gmail Account"
```

**Command**: `Get-KeeperPasswordReport`

Generates a password security report showing complexity metrics (length, lowercase, uppercase, digits, special chars). Can filter by folder and policy to show non-compliant passwords.

**Flags**:

* `-Policy` Policy as comma-separated values: Length, Lower, Upper, Digits, Special (e.g. "16,3,3,3,1")
* `-Folder` Folder path or UID to limit analysis
* `-Length` Minimum password length filter
* `-Lower` Minimum lowercase character count filter
* `-Upper` Minimum uppercase character count filter
* `-Digits` Minimum digit count filter
* `-Special` — Minimum special character count filter
* `-ShowErrors` Show detailed errors for records that can't be processes

**Examples:**

```powershell
PS > Get-KeeperPasswordReport

PS >Get-KeeperPasswordReport -Policy "16,3,3,3,1"
```

**Command**: `Show-KeeperRecordShare`

Displays sharing information for one or more records (who the record is shared with and permissions).

Alias: `kshrsh`

**Flags:**

* `-Records` Record UID(s) or objects with a Uid property (Required, accepts pipeline)

**Example**:

```powershell
PS > Show-KeeperRecordShare xrJ-GWKvgJtyLgIR6Tnqjg

Record UID:  xrJ-GWKvgJtyLgIR6Tnqjg
Title:       Test1

User Shares:
  test1@gmail.com: Owner

Shared Folders:
  SF1: Can Edit & Share
```

</details>

<details>

<summary>Python CLI</summary>

**Command**: Coming Soon

</details>

<details>

<summary>Python SDK</summary>

**Command**: Coming Soon

</details>
