Blog
Claude Code 2.1.261 adds /skill-doctor; recent releases harden unattended CI runs
Claude Code 2.1.261 adds /skill-doctor to show unused loaded skills and their context cost. Nearby 2.1.259 and 2.1.260 releases add --permission-prompts none for unattended hosts, managedMcpServers, /diff, and headless /reload-plugins.
/skill-doctor arrives in 2.1.261
Anthropic's Claude Code changelog lists 2.1.261 with a new slash command aimed at context hygiene: /skill-doctor. The entry says it shows which loaded skills go unused and what they cost in context, so you can prune them. The same notes are mirrored on the generated docs page at code.claude.com/docs/en/changelog.
That matters for long agent sessions and CI-style runs where every skill loaded into context competes with task-relevant information. /skill-doctor is a diagnostic surface for trimming dead weight rather than another way to install skills.
Version 2.1.261 also adds bashOutputMaxChars and taskOutputMaxChars settings so operators can raise how much command and background-task output Claude receives inline before it is saved to a file, up to 128K characters. Separately, --append-subagent-system-prompt-file lets hosts pass large subagent system prompts from a file when they are too big for the command line. An "Organization policy" line on /status and claude doctor now explains why an organization's policy could not be loaded (for example, a proxy not passing the endpoint through).
Unattended hosts: deny prompts without disabling the mode
Two prior point releases concentrate on headless and organization-managed behavior that CI and self-hosted runners need.
In 2.1.259, Claude Code added --permission-prompts none for unattended headless hosts: anything that would prompt is denied automatically while the active permission mode—including auto mode—keeps deciding. That pairing is important for automation. Blocking on interactive prompts freezes a pipeline; blindly approving them is unsafe. Denying promptable actions while leaving the configured permission mode in charge keeps non-interactive runs moving without inventing a separate CI-only policy language.