# 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](/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/record-commands.md#list-command)
2. [Search Command](#search-command)
3. [Get Command](#get-command)
4. [This Device Command](/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/miscellaneous-commands/this-device-commands.md)
5. [Login Command](/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/login-commands.md#login-command)
6. [Logout Command](/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/login-commands.md#logout-command)
7. [Whoami Command](/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/login-commands.md#whoami-command)
8. [Biometric Command](/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/login-commands/biometric-login-commands.md)
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](/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/team-commands.md#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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.keeper.io/keeperpam/commander-sdk/keeper-commander-sdks/sdk-command-reference/miscellaneous-commands.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
