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 is executed
PostToolUseAfter a tool executes successfully
PostToolUseFailureAfter a tool execution fails
PermissionRequestWhen a permission prompt would appear
UserPromptSubmitWhen the user submits a prompt
NotificationWhen a notification is generated
StopWhen the agent stops
StopFailureWhen a turn ends due to an API error
SubagentStartWhen a subagent starts
SubagentStopWhen a subagent stops
PreCompactBefore context compaction
PostCompactAfter context compaction completes
ConfigChangeWhen configuration changes
SessionStartWhen a session begins
SessionEndWhen a session ends
WorktreeCreateWhen a git worktree is created
WorktreeRemoveWhen a git worktree is removed
TeammateIdleWhen a teammate agent is idle
TaskCompletedWhen a task completes
InstructionsLoadedWhen a CLAUDE.md or rules file is loaded
ElicitationWhen an MCP server requests user input
ElicitationResultAfter user responds to MCP elicitation

Hook Types

Valid values for the type field in hook handlers.

TypeDescription
commandExecutes a shell command
httpSends a POST request to a URL
promptSends a prompt to Claude
agentDelegates to a named agent

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