Skip to content

agent-disallowed-tools

Agent disallowedTools must be an array of tool names

From plugin
claudelint
1413 skills13 agents1 command1 hook

Claude Code

> /plugin marketplace add pdugan20/claudelint
> /plugin install claudelint@claudelint

Agent definition

agent-disallowed-tools.md
description: "Agent disallowedTools must be an array of tool names"

agent-disallowed-tools

<RuleHeader description="Agent disallowedTools must be an array of tool names" severity="error" :fixable="false" :configurable="false" category="Agents" />

Rule Details

This rule enforces that the `disallowedTools` field in agent markdown frontmatter is a valid array of strings. Each entry should be a tool name that the agent is prohibited from using. Validation is delegated to the AgentFrontmatterSchema Zod schema. Proper formatting prevents runtime errors when the agent framework parses tool restrictions.

Incorrect

disallowedTools as a single string instead of array

---
name: safe-agent
description: Agent with tool restrictions
disallowedTools: Bash
---

disallowedTools with non-string entries

---
name: safe-agent
description: Agent with tool restrictions
disallowedTools:
  - 123
  - true
---

Correct

disallowedTools as a valid array of tool names

---
name: safe-agent
description: Agent with tool restrictions
disallowedTools:
  - Bash
  - Write
---

How To Fix

Ensure `disallowedTools` is formatted as a YAML array of strings. Each entry should be a valid tool name like Bash, Write, Edit, or WebFetch.

Options

This rule does not have any configuration options.

Related Rules

  • [`agent-tools`](/rules/agents/agent-tools)

Resources

  • [Rule Implementation](https://github.com/pdugan20/claudelint/blob/main/src/rules/agents/agent-disallowed-tools.ts)
  • [Rule Tests](https://github.com/pdugan20/claudelint/blob/main/tests/rules/agents/agent-disallowed-tools.test.ts)

Version

Available since: v0.2.0

Read more
@pdugan20
Ships withclaudelint

A linter for Claude Code projects. Validates CLAUDE.md files, skills, settings, hooks, MCP servers, plugins, and more.

Stars on GitHub

Momentum

stars in total
14
Star history of pdugan20/claudelint on GitHub, a chart by star-history.com

Other agents on claudelint.

claude-md-optimizer
Auto-invoked

claude-md-optimizer

Agent

Use this agent when the user wants to autonomously validate and optimize their CLAUDE.md files. This agent runs claudelint…

@pdugan20@pdugan20Install Agent

More agents from other plugins.

a11y-architect
Auto-invoked

a11y-architect

Agent

Accessibility Architect specializing in WCAG 2.2 compliance for Web and Native platforms. Use PROACTIVELY when designing UI…

ecc2w293k
@affaan-m@affaan-mInstall Agent
analyze-pass-impact

analyze-pass-impact

Agent

Analyzes how a specific topic affects a group of compiler passes. Used by the /plan-update skill to parallelize research across…

react4d252k
@facebook@facebookInstall Agent
orchestrator

orchestrator

Agent

- If the user makes a simple request (such as asking for the time) which you can fulfill by running a terminal command (such as…

codex4d135k
@openai@openaiInstall Agent
cavecrew-builder

cavecrew-builder

Agent

Surgical 1-2 file edit. Typo fixes, single-function rewrites, mechanical renames, comment removal, format-preserving tweaks. Hard…

caveman5d119k
@juliusbrussee@juliusbrusseeInstall Agent

Questions about agent-disallowed-tools.

Which coding agents can use agent-disallowed-tools?
agent-disallowed-tools installs in Claude Code and Cursor: each loads subagents from .claude/agents, so copy the file there. Flowy's auto-invocation runs in Claude Code only.