Medium Risk

write_file

Completely replace file contents. Best for large changes (>20% of file) or when edit_block fails.

How to control write_file ↓

What write_file does on Claude Desktop Commander MCP

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

Medium Risk

Why write_file needs a policy

The write_file tool modifies file contents reversibly. Although file overwriting carries risk, it falls under the Write category (create/modify operations) rather than Destructive (irreversible deletion).

From the tool's definition Tool description states "Completely replace file contents" which is a create/modify operation. The server context confirms file system operations capability.

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

How to control write_file

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

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

write_file 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 Claude Desktop Commander MCP — 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 write_file

What does the write_file tool do? +

Completely replace file contents. Best for large changes (>20% of file) or when edit_block fails. It is categorised as a Write tool in the Claude Desktop Commander MCP MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

How do I enforce a policy on write_file? +

Register the Claude Desktop Commander MCP server in PolicyLayer and add a rule for write_file: 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 Claude Desktop Commander MCP. Nothing to install.

What risk level is write_file? +

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

Can I rate-limit write_file? +

Yes. Add a rate_limit block to the write_file 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 write_file completely? +

Set action: deny in the PolicyLayer policy for write_file. 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 write_file? +

write_file is provided by the Claude Desktop Commander MCP server (strawhatai/claude-dev-tools). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Claude Desktop Commander MCP tool call.

Start from Claude Desktop Commander MCP, 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.

19 Claude Desktop Commander MCP 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.