Medium Risk

reject_change

Rejects a change request. This finds the current user's approval record

How to control reject_change ↓

What reject_change does on Snow

AI agents use reject_change to create or update resources in Snow — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Snow environment.

Medium Risk

Why reject_change needs a policy

Rejecting a change request modifies the state of a ServiceNow record reversibly (a rejected change could theoretically be re-submitted or re-approved), but has significant operational impact as it blocks planned infrastructure/application changes. This is a Write operation rather than Destructive because the underlying data is not deleted and the action can be undone through re-submission.

From the tool's definition Tool name 'reject_change' and description 'Rejects a change request' indicates modification of change request state/status. The phrase 'finds the current user's approval record' confirms it operates on existing records by updating their approval status.

Documented attack patterns abuse exactly the kind of access reject_change gives an agent:

How to control reject_change

PolicyLayer is an MCP gateway — it sits between your AI agents and Snow, and nothing reaches the server without passing your rules. This is the rule we recommend for reject_change:

policy.json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "reject_change": {
      "limits": [
        {
          "counter": "reject_change_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}

reject_change stays usable, but capped — an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.

  1. Create a free account and register Snow — nothing to install.
  2. Add this policy — paste it, or build it visually.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
LIMIT THIS TOOL →

Free to start. No card required.

Related tools and policies

Go deeper

Questions about reject_change

What does the reject_change tool do? +

Rejects a change request. This finds the current user's approval record. It is categorised as a Write tool in the Snow MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

How do I enforce a policy on reject_change? +

Register the Snow MCP server in PolicyLayer and add a rule for reject_change: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Snow. Nothing to install.

What risk level is reject_change? +

reject_change is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit reject_change? +

Yes. Add a rate_limit block to the reject_change rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block reject_change completely? +

Set action: deny in the PolicyLayer policy for reject_change. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides reject_change? +

reject_change is provided by the Snow MCP server (shunyaai/snow-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Snow tool call.

Start from Snow, add the rest of your stack, and see everything your agents can call. Then put policy on all of it.

Free to start. No card required.

88 Snow tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.