/tools set
Register a loaded command as a server AI tool or change its delivery mode.
Availability
Section titled “Availability”Public source-edition command; execution remains conditional on installation, server policy and the running service. This reference is built from the repository, not a live Discord registration probe. Explicit registration contexts: server.
Syntax
Section titled “Syntax”/tools set <command:String> [mode:String]Angle brackets indicate required input; square brackets indicate optional input. In Discord, choose the command and fill its named options, rather than typing the brackets.
Parameters
Section titled “Parameters”| Name | Type | Required | Allowed values / bounds | Default when omitted | Description |
|---|---|---|---|---|---|
command |
String | Yes | No registration choices declared; handler validation applies. | Required input | Command name to enable/configure (e.g. sandbox, roblox, search, schedule, agent) |
mode |
String | No | ai, direct, remove |
ai | Mode: “ai” (AI synthesizes result), “direct” (Posts embed), or “remove” (Removes tool) |
Permissions
Section titled “Permissions”Required native member permission(s): ManageGuild (Administrator normally satisfies native permission checks).
Fork role access is evaluated using the underlying tooladd policy key, even when the slash name is grouped. Native Discord permission checks remain separate from Fork role grants. Sensitive commands fail closed before valid setup; native Administrator bypasses Fork’s role matrix, not Discord’s bot permissions or target hierarchy. See Permission model.
The command option resolves a handler name or alias, not a slash string with a leading slash. Existing leaf policy keys remain valid after grouping.
Examples
Section titled “Examples”/tools set command:search mode:aiPrefix equivalent and aliases
f!tooladd search aiDefault prefix: f!; installations can configure another. Handler aliases: addtool, enabletool. Aliases are prefix names, not additional slash commands.
Grouped prefix routes also delegate to the original handlers, but aliases retain that handler’s argument parsing. Conflicting aliases are rejected as ambiguous. Prefix replies are generally visible in the channel; prefer slash privacy controls for sensitive personal data.
Expected result
Section titled “Expected result”AI mode returns tool output to the model; direct mode posts command output; remove disables the entry. Enabling a tool does not grant its underlying permissions.
Failure cases
Section titled “Failure cases”Requires Manage Server. Unknown command/alias, missing guild or persistence failure prevents configuration. Check the returned error, current bot status and the relevant server permissions. A timeout or uncertain receipt is not proof that nothing happened; inspect state before repeating a mutation.
Usage limits
Section titled “Usage limits”No fixed command-specific cooldown is declared in this reviewed entry. Discord rate limits, provider budgets, service admission and server policy can still apply; this is not an unlimited-usage promise.
Related commands
Section titled “Related commands”Related guides
Section titled “Related guides”Source edition v1 · Registration, direct handler and shared authorization review are hash-bound in the local documentation validation. This is not a production feature-availability certification.