> For the complete documentation index, see [llms.txt](https://docs.keeper.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.keeper.io/release-notes/developer-tools/commander/commander-18.0.9.md).

# Commander 18.0.9

### New Features

* &#x20;KeeperAI PAM Connection Settings `pam connection ai`

New command to manage KeeperAI settings on PAM resources and remote browser instances. Supports show, set, unset, and remove operations for AI configuration on PAM connections.<br>

* PAM Gateway Online Filter

The command `pam gateway list` now accepts `--online (-o)` to filter results to only online gateways, along with gateway totals in the output.<br>

* &#x20;Enterprise MSP Transfer

Added support for transferring a managed company to another MSP. The backend will be live next week in production to support this command.<br>

* &#x20;Thycotic Import: Selective Secret IDs

`import --format thycotic` now accepts `--secret-ids` (comma-separated) to import or inspect specific secrets by ID — useful for debugging cases where the Thycotic lookup API omits secrets due to security policies.<br>

* &#x20;KCM: Port Mapping Defaults and Empty User Handling

KCM export now supports connections with empty user or port fields: missing ports fall back to protocol defaults (configurable via KCM\_mappings.json), connections missing a user are logged for follow-up, and allow-file-uploads is available for RBI connections.

### Bug Fixes

* &#x20;Fixed a SQL injection vulnerability in legacy Commander MSSQL password rotation and added input validation to reject unsafe --password values.
* &#x20;Fixed an issue where `pam rotation edit` did not correctly apply SaaS profiles.
* &#x20;Fixed the permission-check rotation request for IAM user links — configurationUid, matching revision, and an explicit empty resourceUid are now sent to correctly handle IAM rotation semantics.
* &#x20;NSF Share Expiration and Folder Labels
* &#x20;Fixed expiration updates for `nsf-share-folder` and `nsf-share-record`
* &#x20;Enforced a one-minute minimum on NSF and classic share expiration
* &#x20;Standardized list/search record\_category output to lowercase (classic/nested)
* &#x20;Renamed Supershell Drive folder labels to Nested Shared Folder (Shared) and Nested Shared Folder (NonShared)
* Nested Shared Folder - Record Add/Update Policy Enforcement: The `nsf-record-add` and `nsf-record-update` commands now enforce GENERATED\_PASSWORD\_COMPLEXITY and RESTRICT\_RECORD\_TYPES enterprise policies.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.keeper.io/release-notes/developer-tools/commander/commander-18.0.9.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
