settings

A project settings add-on that declares which commands, tools, and file operations an agent may use.

In plain words
What is it for?
Use it to configure permissions for shell commands, web access, version-control tools, external services, and file editing.
Why use it?
It defines the agent's allowed and blocked actions, helping limit what it can do in a project.

Settings file for Claude Code

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add settings/punt-labs/punt-kit/settings
Clone the repo
git clone --depth 1 https://github.com/punt-labs/punt-kit

Made for: Claude Code.

Per session not measured What this adds to a session before it is invoked.
When invoked not measured Not applicable: nothing here is loaded into a session.
Security scan C 2 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Security

Grade C, and why

settings scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

"Bash(rm -rf /:*)",

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

"Bash(curl:*)",
.claude/settings.json · 64 lines

What it actually says

{
  "permissions": {
    "allow": [
      "Bash(bash:*)",
      "Bash(bd:*)",
      "Bash(cat:*)",
      "Bash(chmod +x:*)",
      "Bash(claude mcp:*)",
      "Bash(claude plugin:*)",
      "Bash(export:*)",
      "Bash(find:*)",
      "Bash(gh:*)",
      "Bash(git:*)",
      "Bash(ls:*)",
      "Bash(pip index:*)",
      "Bash(punt:*)",
      "Bash(python3:*)",
      "Bash(sed:*)",
      "Bash(shellcheck:*)",
      "Bash(tail:*)",
      "Bash(test:*)",
      "Bash(uv:*)",
      "WebFetch(domain:claude.com)",
      "WebFetch(domain:docs.anthropic.com)",
      "WebFetch(domain:elevenlabs.io)",
      "WebFetch(domain:ics.uci.edu)",
      "WebFetch(domain:survey.stackoverflow.co)",
      "WebFetch(domain:venturebeat.com)",
      "WebFetch(domain:www.anthropic.com)",
      "WebFetch(domain:www.cartesia.ai)",
      "mcp__github__*",
      "mcp__plugin_biff_tty__*",
      "mcp__plugin_github_github__*",
      "mcp__plugin_quarry_quarry__*",
      "mcp__quarry__*",
      "Bash(uvx twine:*)",
      "Read",
      "Edit",
      "Write"
    ],
    "deny": [
      "Bash(curl:*)",
      "Bash(dd:*)",
      "Bash(direnv allow:*)",
      "Bash(ftp:*)",
      "Bash(nc:*)",
      "Bash(ncat:*)",
      "Bash(netcat:*)",
      "Bash(rm -rf /:*)",
      "Bash(rm -rf ~:*)",
      "Bash(scp:*)",
      "Bash(socat:*)",
      "Bash(ssh:*)",
      "Bash(su:*)",
      "Bash(sudo:*)",
      "Bash(telnet:*)",
      "Bash(tftp:*)",
      "Bash(wget:*)",
      "Edit(.env)",
      "Edit(.envrc)"
    ]
  }
}
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 64 lines scan C a805a2c6d7cf

Subscribe to this mod's changes

settings is a settings file published in the GitHub repository punt-labs/punt-kit (1 stars, last pushed 2d ago), licensed MIT. Its token cost is not measured: this kind of file is read by the harness, not the model. A static security scan graded it C with 2 findings (recursive force delete, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.