# Config Command

## `config` command

**Description:** Configure the CLI debug output

**Parameters:**

Sub-command to run

format: **`ksm config <sub-command>`**

**Sub-Commands:**

| Sub-Command       | Description                                             |
| ----------------- | ------------------------------------------------------- |
| `color`           | Turn on or off color display                            |
| `cache`           | Turn on or off the record cache                         |
| `record-type-dir` | Set the directory that hold custom record type schemas. |
| `editor`          | Set an editor for visual adding new records.            |
| `show`            | Display current CLI settings                            |

### **color**

`ksm config color <--enable | --disable>`

#### **Options:**

`--enable` Turn on color display

`--disable` Turn off color display

#### Example:

```
$ ksm config color --disable
$ ksm config show
 Config Item            Value
 ---------------------- --------------
 Color Enabled          False
```

### **cache**

The record cache creates a copy of your records and will be used if the CLI cannot access the Secrets Manager server. A copy of records are stored encrypted on local storage.

`ksm config cache <--enable | --disable>`

#### **Options:**

`--enable` Turn on record caching

`--disable` Turn off record caching

#### Example:

```
$ ksm config cache --enable
$ ksm config show
 Config Item            Value
 ---------------------- -----------
 Cache Enabled          True
```

### record-type-dir

Set the record type schema directory containing custom record type schema files.

`ksm config record-type-dir [-d DIRECTORY PATH] [--clear]`

**Options:**

`--directory, -d` Directory path

`--clear` Remove the directory path

#### Example:

```
$ ksm config record-type-dir -d /path/to/directory
$ ksm config show
 Config Item            Value
 ---------------------- -----------
 Record Type Directory  /path/to/directory
```

### editor

Set the editor to use when visually adding records.

`ksm config editor [--app APPLICATION] [--blocking] [--process-name PROCESS NAME]`

**Options:**

`--application, --app` The editor application to launch.

`--clear` Remove the directory path

#### **Application Options:**

These optionals can be used when setting the `--application`.

`--blocking` Enable to prevent the CLI from prematurely processing your record data.&#x20;

`--process-name` Used in blocking to find the real process name in the task list.

#### **Example:**

```
 ksm config editor --app Code --blocking --proces-name code.exe
$ ksm config show
 Config Item            Value
 ---------------------- -----------
 Editor                 Code (code.exe)
 Editor Blocking        True

```

{% hint style="info" %}
Certain applications do not block the CLI when they launch. These are mainly editors that have a UI. If the application does not block, the CLI will attempt to parse record template before any changes have been made.

On macOS, blocking to wait until the application fully exits. This means the editor is not running at all, not that the editor windows is closed.

On Windows, blocking will monitor the task lists until the process ends. However if the application uses a .bat or .cmd file, it will launch the editor under different name. If this is the case, the `--process-name` needs to be set. The CLI will monitor that name instead of the name used to launch the editor.
{% endhint %}

### **show**

`ksm config show`

#### Example:

```
$ ksm config show
 Config Item            Value
 ---------------------- -----------
 Active Profile         all_records
 Cache Enabled          False
 Color Enabled          False
 Record Type Directory  -NOT SET-
 Editor                 vim (NA)
 Editor Blocking        False
```
