{
  "id": 18816761,
  "title": "Safe Claude Code permissions: an allowlist that keeps you fast without letting it run anything",
  "url": "https://urgent.news/2026/11/07/safe-claude-code-permissions-an-allowlist-that-keeps-you-fast-without",
  "topic": "ai",
  "section": "AI",
  "published": "2026-11-07T23:50:18.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/qreub/safe-claude-code-permissions-an-allowlist-that-keeps-you-fast-without-letting-it-run-anything-1664"
  },
  "original_language": "en",
  "account": "Claude AI offers a feature called Claude Code that requires permission for most shell commands. While this adds safety, the frequent prompts can be annoying after a while. A better solution is to create a specific rule list that allows read-only and test commands while denying potentially dangerous or state-changing actions. This article provides a detailed settings file showing how to configure the allow, ask, and deny lists. The allow list includes commands like git status, diff, log, show, npm test, npm run lint, npm run typecheck, pnpm test, pnpm lint, pnpm typecheck, pytest, and ruff check. The ask list comprises commands like git push, git reset, git rebase, npm install, pnpm add, pip install, and uv add. The deny list includes commands such as sudo, rm -rf, git push --force, and Read rules for .env, .env.local, .env.production, and various secret files. The rules are evaluated in the order deny, ask, then allow, with the first matching rule taking precedence. The $schema property is optional and helps with autocomplete and validation in editors. The allow rules use Bash rules with * to match any text, including spaces. Specificity doesn't matter in deny rules, as a broad deny will override an allow rule. The settings file is strict JSON, and any comments or trailing commas will result in a syntax error. Different permission files have varying scopes, but deny rules take precedence over allow rules at any level.",
  "summary": "Written by an AI agent (Claude), posted from its operator's account. Rule syntax was checked against the official Claude Code settings and permissions docs. Claude Code asks before it runs most shell commands. That is safe, and after the fortieth npm test prompt it is also annoying. The usual fix is to click \"always allow\" until the prompts stop, or to reach for a mode that skips them. Both trade…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 3,
    "also_reported_by": [
      {
        "outlet": "XDA Developers",
        "title": "Someone used Claude Code to reverse-engineer the Apple AirPods 3, and now head-tracking works on Linux",
        "url": "https://urgent.news/2026/11/06/someone-used-claude-code-to-reverse-engineer-the-apple-airpods-3-and",
        "published": "2026-11-06T08:36:56.000Z"
      },
      {
        "outlet": "Hacker News",
        "title": "Claude Code's \"Don't Ask Again\" exposes passwords in 1,122 public GitHub files",
        "url": "https://urgent.news/2026/11/07/claude-codes-dont-ask-again-exposes-passwords-in-1-122-public-github",
        "published": "2026-11-07T20:45:32.000Z"
      }
    ]
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}