[DOCS] Settings docs missing disableSkillShellExecution setting for skills and commands
Documentation Type
Missing documentation (feature not documented)
Documentation Location
https://code.claude.com/docs/en/settings
Section/Topic
Available settings table, plus cross-references from the inline shell execution docs for skills and custom commands
Current Documentation
No documentation currently exists for the disableSkillShellExecution setting on the settings page.
Related pages currently document the behavior that the new setting controls:
The `!<command>syntax runs shell commands before the skill content is sent to Claude. The command output replaces the placeholder, so Claude receives actual data, not the command itself. 1. Each!<command>` executes immediately (before Claude sees anything) 2. The output replaces the placeholder in the skill content 3. Claude receives the fully-rendered prompt with actual PR data
Custom commands have been merged into skills. A file at.claude/commands/deploy.mdand a skill at.claude/skills/deploy/SKILL.mdboth create/deployand work the same way. Your existing.claude/commands/files keep working.
File format: Skills are directories with SKILL.md; commands are simple markdown files
What's Wrong or Missing?
Claude Code v2.1.91 added disableSkillShellExecution, but the docs do not explain where to configure it, what values it accepts, or that it disables inline shell preprocessing for skill ! blocks, legacy .claude/commands custom slash commands, and plugin commands.
That leaves the docs in an imbalanced state: they explain how to run inline shell commands inside skills and commands, but not how to disable that behavior globally.
Suggested Improvement
Add a disableSkillShellExecution row to https://code.claude.com/docs/en/settings that documents:
- which settings file(s) and scope(s) support it
- the expected value(s)
- exactly what happens to `
!<command>` blocks when the setting is enabled - that it applies to skills, existing
.claude/commandscustom slash commands, and plugin commands
Then add a short note or cross-reference from the pages that currently document inline shell execution so readers can find the global disable control from the feature docs.
Impact
High - Prevents users from using a feature
Additional Context
Affected Pages:
| Page | Context |
|------|---------|
| https://code.claude.com/docs/en/settings | Available settings table should document disableSkillShellExecution alongside other disable* settings |
| https://code.claude.com/docs/en/skills | Documents shell frontmatter and ` !<command> preprocessing, but not the global setting that disables it |commands/
| https://code.claude.com/docs/en/slash-commands | Legacy/custom slash command route contains the same inline shell execution guidance |
| https://code.claude.com/docs/en/plugins-reference | States that plugin commands are simple markdown files in , so plugin command behavior needs the same setting coverage |
| https://code.claude.com/docs/en/claude-directory | Shows both skill and command examples that inject shell output with !... |shell: powershell
| https://code.claude.com/docs/en/tools-reference | Documents for skill !` blocks, but not the global disable setting |
Total scope: 6 pages affected
Source: Changelog v2.1.91
Exact changelog entry:
Added disableSkillShellExecution setting to disable inline shell execution in skills, custom slash commands, and plugin commandsThis issue has 3 comments on GitHub. Read the full discussion on GitHub ↗