Skip to content

Configuration Schemas

claudelint validates Claude Code configuration files against schemas derived from the official documentation. Each schema has its own reference page with full field details.

Quick Reference

SchemaConfig FileOfficial Docs
SkillsSKILL.md frontmatterSkills reference
Agents.claude/agents/*.md frontmatterSubagent fields
Hookshooks.jsonHooks
MCP.mcp.jsonMCP servers
Plugin Manifestplugin.jsonPlugin schema
Marketplacemarketplace.jsonMarketplace schema
Settingssettings.jsonSettings
LSP.lsp.jsonLSP servers
Output Styles.claude/output-styles/*/*.md frontmatterOutput styles
Rules.claude/rules/*.md frontmatterPath-specific rules

Valid Values Reference

These constant sets are used across multiple schemas. claudelint flags any value not in these lists.

Tool Names

Valid values for allowed-tools, tools, and disallowedTools fields.

ToolDescription
AgentSubagent delegation (renamed from Task in v2.1.63)
BashShell command execution
ReadFile reading
WriteFile creation
EditFile editing
GlobFile pattern matching
GrepContent search
TaskSubagent task delegation (legacy name, use Agent)
WebFetchURL content fetching
WebSearchWeb search
LSPLanguage Server Protocol
AskUserQuestionInteractive user prompts
EnterPlanModePlan mode entry
ExitPlanModePlan mode exit
SkillSkill invocation
TaskCreateTask list creation
TaskUpdateTask list updates
TaskGetTask retrieval
TaskListTask listing
TaskOutputTask output retrieval
TaskStopTask cancellation
NotebookEditJupyter notebook editing

Model Names

Valid values for model fields in skill and agent frontmatter.

ValueDescription
sonnetClaude Sonnet
opusClaude Opus
haikuClaude Haiku
inheritInherit from parent context

INFO

Agent model fields also accept full model IDs (e.g., claude-opus-4-6). The model field in settings.json accepts arbitrary strings (full model IDs, ARNs, aliases) and is not restricted to this enum.

Hook Events

Valid event keys for hooks configuration. All names are PascalCase.

EventDescription
PreToolUseBefore a tool call executes; can block it
PostToolUseAfter a tool call succeeds
PostToolUseFailureAfter a tool call fails
PostToolBatchAfter a full batch of parallel tool calls resolves, before the next model call
PermissionRequestWhen a permission dialog appears
PermissionDeniedWhen a tool call is denied by the auto mode classifier; can return {retry: true}
UserPromptSubmitWhen the user submits a prompt, before Claude processes it
UserPromptExpansionWhen a user-typed command expands into a prompt, before it reaches Claude
NotificationWhen Claude Code sends a notification
StopWhen Claude finishes responding
StopFailureWhen the turn ends due to an API error
SetupWhen Claude Code starts with --init-only, --init, or --maintenance (one-time CI/script preparation)
SubagentStartWhen a subagent is spawned
SubagentStopWhen a subagent finishes
PreCompactBefore context compaction
PostCompactAfter context compaction completes
ConfigChangeWhen a configuration file changes during a session
SessionStartWhen a session begins or resumes
SessionEndWhen a session terminates
WorktreeCreateWhen a git worktree is created
WorktreeRemoveWhen a git worktree is removed
TeammateIdleWhen an agent team teammate is about to go idle
TaskCreatedWhen a task is being created via TaskCreate
TaskCompletedWhen a task is being marked as completed
InstructionsLoadedWhen a CLAUDE.md or .claude/rules/*.md file is loaded into context
ElicitationWhen an MCP server requests user input during a tool call
ElicitationResultAfter user responds to MCP elicitation, before sending back to the server
CwdChangedWhen the working directory changes (e.g. cd command)
FileChangedWhen a watched file changes on disk; matcher specifies which filenames to watch

Hook Types

Valid values for the type field in hook handlers.

TypeDescription
commandExecutes a shell command
httpSends a POST request to a URL
mcp_toolCalls a tool on an already-connected MCP server
promptSends a prompt to Claude
agentDelegates to a named agent

Permission Modes

Valid values for the permissionMode field in agent frontmatter.

ModeDescription
defaultStandard permission prompts
acceptEditsAuto-accept file edits
autoAuto mode classifier decides per tool call
dontAskTreat permission prompts as denied
bypassPermissionsSkip permission checks (use with care)
planRead-only plan mode

Effort Levels

Valid values for the effort field in skill and agent frontmatter. Available levels depend on the model.

LevelDescription
lowMinimum reasoning effort
mediumStandard effort
highIncreased reasoning effort
xhighExtended reasoning effort
maxMaximum reasoning effort

Agent Colors

Valid values for the color field in agent frontmatter (display color in task list and transcript).

Color
red, blue, green, yellow, purple, orange, pink, cyan

INFO

claudelint also accepts magenta for backward compatibility with older agent files.

Context Modes

Valid values for the context field in skill frontmatter.

ModeDescription
forkRun in a forked subagent (requires agent field)

MCP Transport Types

Valid values for the type field in MCP server configuration.

TypeDescription
stdioLocal subprocess (default when command is present)
sseServer-Sent Events (deprecated)
httpHTTP endpoint
websocketWebSocket connection

JSON Schema Files

claudelint maintains JSON Schema files for IDE integration and external tooling. These are available in the schemas/ directory:

SchemaFileDescription
Skill frontmatterskill-frontmatter.schema.jsonSKILL.md YAML frontmatter
Agent frontmatteragent-frontmatter.schema.jsonAgent file YAML frontmatter
Hooks confighooks-config.schema.jsonhooks.json structure
MCP configmcp-config.schema.json.mcp.json structure
Plugin manifestplugin-manifest.schema.jsonplugin.json structure
LSP configlsp-config.schema.json.lsp.json structure
Output styleoutput-style-frontmatter.schema.jsonOutput style YAML frontmatter
Rules frontmatterrules-frontmatter.schema.jsonRules file frontmatter
Marketplacemarketplace.schema.jsonmarketplace.json structure

Running npm run generate:json-schemas produces auto-generated versions (from Zod schemas) in schemas/generated/. Run npm run check:schema-sync to verify generated and published schemas stay in sync.

See Also