> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/powershell-universal/powershell-commands/set-psuaitool.md).

# Set-PSUAiTool

Set-PSUAiTool updates an existing AI tool definition in PowerShell Universal, changing its metadata, roles, script path, or MCP exposure.

## SYNOPSIS

Updates an existing AI tool definition.

## SYNTAX

```powershell
Set-PSUAiTool -Id <Int64> [-Name <String>] [-Description <String>] [-Authenticated <Boolean>] [-Roles <String[]>] [-ScriptFullPath <String>] [-DefaultMaxWaitTimeoutSeconds <Int32>] [-Environment <String>] [-Computer <String>] [-Mcp] [<ConnectionOptions>] [<CommonParameters>]
Set-PSUAiTool -AiTool <AiTool> [-Name <String>] [-Description <String>] [-Authenticated <Boolean>] [-Roles <String[]>] [-ScriptFullPath <String>] [-DefaultMaxWaitTimeoutSeconds <Int32>] [-Environment <String>] [-Computer <String>] [-Mcp] [<ConnectionOptions>] [<CommonParameters>]
```

`<ConnectionOptions>`: `[-ComputerName <String>] [-AppToken <String>] [-Credential <PSCredential>] [-UseDefaultCredentials] [-Integrated] [-TrustCertificate] [-Cookies]`.

## DESCRIPTION

Loads an AI tool by ID or pipeline object and updates only supplied fields. `-Environment` and `-Computer` set the default run target; computer groups support `'<GroupName> (All)'` and `'<GroupName> (Any)'`. `-DefaultMaxWaitTimeoutSeconds` sets the default tool-job wait timeout; omit it to retain the current value.

## EXAMPLES

```powershell
Set-PSUAiTool -Id 5 -Description 'Ticket lookup and updates' -Authenticated $true -Roles HelpDesk,Admin -Mcp
Set-PSUAiTool -Id 5 -Environment '7.4' -Computer 'Agents (Any)' -DefaultMaxWaitTimeoutSeconds 60
```

## PARAMETERS

| Parameter                       | Description                                                                             |
| ------------------------------- | --------------------------------------------------------------------------------------- |
| `-Id`                           | Numeric ID of the tool to update.                                                       |
| `-AiTool`                       | Tool object to update; accepts pipeline input.                                          |
| `-Name`                         | New tool name.                                                                          |
| `-Description`                  | New description.                                                                        |
| `-Authenticated`                | Whether authentication is required (`$true` or `$false`).                               |
| `-Roles`                        | Replacement list of roles allowed to execute the tool.                                  |
| `-ScriptFullPath`               | New path to the implementing script.                                                    |
| `-DefaultMaxWaitTimeoutSeconds` | Default maximum wait for tool jobs in seconds; explicitly passing `$null` resets to 30. |
| `-Environment`                  | Default execution environment; an empty string clears it.                               |
| `-Computer`                     | Default computer or computer-group target; an empty string clears it.                   |
| `-Mcp`                          | Sets exposure through MCP.                                                              |
| `-ComputerName`                 | Target PSU server URL or host name (alias `-Uri`), not the tool's execution target.     |
| `-AppToken`                     | Management API app token.                                                               |
| `-Credential`                   | Credentials for Management API Basic authentication.                                    |
| `-UseDefaultCredentials`        | Uses current Windows credentials.                                                       |
| `-Integrated`                   | Uses the in-process management client.                                                  |
| `-TrustCertificate`             | Ignores certificate validation errors.                                                  |
| `-Cookies`                      | Reuses session authentication cookies.                                                  |

## INPUTS

`PowerShellUniversal.Models.Intelligence.AiTool`.

## PERMISSIONS

The access token requires `intelligence.tools/update` to run this cmdlet remotely.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/powershell-universal/powershell-commands/set-psuaitool.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
