Skip to main content
Glama

Set OpenClaw Config Value

clawops_config_set
DestructiveIdempotent

Set a single OpenClaw gateway configuration value (e.g., model provider, channel auth, port) and optionally restart the gateway to apply it. Use for auditable one-key edits.

Instructions

Set a configuration value on the remote OpenClaw gateway. Optionally restarts the gateway after.

Use when: the user wants to change OpenClaw configuration (model provider, channel auth, gateway port).

Do NOT use when: the user is reading config — use clawops_config_get. Do NOT bulk-edit; one key at a time so changes are auditable (R21).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyYesDotted path into the gateway config, e.g. models.provider or channels.slack.enabled
valueYesStringified; JSON for complex values
restartNoRestart the gateway so the change takes effect. Without it the value is written and the running gateway keeps the old one
stackNameNoWhich stack's gateway config to write. Omitted = the default stack in ~/.clawops/config.json

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv2.1.3
    • addedInput schema / properties / key / description
      Added value: +"Dotted path into the gateway config, e.g. models.provider or channels.slack.enabled"
    • addedInput schema / properties / restart / description
      Added value: +"Restart the gateway so the change takes effect. Without it the value is written and the running gateway keeps the old one"
    • addedInput schema / properties / stackName / description
      Added value: +"Which stack's gateway config to write. Omitted = the default stack in ~/.clawops/config.json"
    • addedInput schema / properties / value / description
      Added value: +"Stringified; JSON for complex values"
  2. First observedv2.1.1

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already set readOnlyHint=false, destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the mutation/safety profile is covered. The description adds genuine behavioral detail: optional gateway restart, the fact that the running gateway keeps the old value without restart, and the one-key-at-a-time auditability rule. It does not discuss failure modes or permissions, but nothing contradicts the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three compact sentences plus two clear usage lines, with the core action and optional restart stated first and every sentence earning its place. There is no redundant repetition of the title or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter mutation tool with full schema coverage and safety annotations, the description supplies the missing decision context: when to use it, which sibling to use instead, and the no-bulk-edit constraint. No output schema is present, but the write behavior and restart semantics are adequately specified, so an agent can invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with each parameter already documented (dotted key path, stringified JSON value, restart default/effect, stackName default). The description contributes context through example config areas, but the schema carries the parameter-semantic burden and the description does not add much beyond it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Set') with a clear resource ('configuration value on the remote OpenClaw gateway') and a scope-limiting optional behavior (restart). It also names clawops_config_get as the reading alternative, so the tool's identity is not confused with siblings like clawops_config_unset or clawops_config_get.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use examples ('model provider, channel auth, gateway port') and an explicit when-not-to-use with the alternative tool ('reading config — use clawops_config_get'). It also prohibits bulk-edit usage, which is a concrete exclusion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.