cfgaudit

Rules / CFG118

CFG118 a policy deny cannot be committed for an agent

Severity: info OWASP: LLM03:2026 – Excessive Agency Agents: zed, continue

What cfgaudit checks

CFG118 is inert until .cfgaudit.yml sets the agent-neutral policy.deny described in CFG025. It then reports, once per agent, an agent in the policy's scope that reads its permission rules from user settings only, so nothing in the repository can carry the deny for it:

Agent Marked by Where its permission rules live
Zed .zed/ user settings.json; the project .zed/settings.json has no agent section
Continue .continue/ the user's ~/.continue/ permissions

An agent is in scope when its directory exists in the repository, or when policy.agents names it.

Trigger example

policy:
  deny:
    commands: ["git push"]
    read: ["**/.env"]
  agents: [zed]

The same finding appears without agents when the repository has a .zed/ directory:

.zed [info] CFG118: policy deny.commands, deny.read cannot be enforced for Zed from the repository: Zed reads its permission rules from user settings only, so each contributor has to add the rules to their own settings

Why it is info

Nothing in the repository is wrong. The finding keeps a policy from reading as if it covered every agent the team uses: for these agents each contributor has to add the rules to their own settings, and a reviewer should know that. It shows in SARIF and GitLab Code Quality and never fails CI on its own.

Fix

Ask contributors who use the agent to add the rules to their user settings, or list only the agents the policy is meant to cover under policy.agents. Turn the rule off with rules: {CFG118: off} if the team already knows.

Documentation for cfgaudit 1.20.0. Source of this page · Rule implementation