← Claude Docs

Output styles - Claude Code Docs

Claude Docs · May 11, 2026
Output styles modify how Claude responds by changing role, tone, and output format through system prompt adjustments, with built-in options including Proactive, Explanatory, and Learning modes alongside the default style. Custom output styles can be created as Markdown files with frontmatter and saved at user, project, or managed policy levels. Output style changes take effect at the start of a new session and can be configured through the /config command or by editing the .claude/settings.local.json file directly.

Detailed Analysis

Claude Code's output styles feature represents a deliberate architectural choice to separate *how* the AI communicates from *what* it can do, allowing users to reconfigure Claude's tone, role, and response format without altering its underlying capabilities. The system ships with four styles: a Default mode optimized for software engineering tasks, a Proactive mode that minimizes interruptions by making reasonable autonomous assumptions, an Explanatory mode that surfaces pedagogical "Insights" alongside task completion, and a Learning mode that goes further by inserting `TODO(human)` markers and inviting users to contribute code themselves. Each style works by directly modifying the system prompt at session start, meaning selections persist stably throughout a conversation to enable prompt caching — a meaningful cost-reduction mechanism given that longer instructional preambles increase input token consumption.

The technical implementation reveals several nuanced design tradeoffs. Custom output styles, defined as Markdown files with YAML frontmatter, can be scoped to the user level, the project level, or a managed policy directory, and plugins may also ship their own styles with the option to force-apply them automatically via the `force-for-plugin` frontmatter flag. Critically, custom styles suppress Claude Code's default coding-specific instructions — such as verifying code with tests — unless the `keep-coding-instructions` flag is explicitly set to true. This means practitioners building non-engineering personas atop Claude Code must consciously decide whether to preserve or discard the software-task scaffolding, a decision with real consequences for output quality and token costs.

The documentation draws sharp distinctions between output styles and three adjacent configuration mechanisms: CLAUDE.md, `--append-system-prompt`, and Agents. CLAUDE.md content is injected as a user message rather than a system prompt modification, making it appropriate for project conventions and codebase context rather than behavioral reconfiguration. `--append-system-prompt` adds content to the existing system prompt without replacing any of it. Agents, by contrast, are invoked for discrete subtasks and carry their own model specifications and tool availability settings. Output styles are also distinguished from Skills, which are task-specific, invocable prompts rather than persistent session-wide behavioral overlays.

The broader significance of this feature lies in what it signals about how Anthropic is positioning Claude Code beyond a narrow software-engineering assistant. By providing a structured mechanism to redefine Claude's persona and communication register — while preserving tool access to scripts, files, and task tracking — Anthropic is effectively enabling Claude Code to serve as a general-purpose agentic runtime that can be reskinned for different professional contexts. The Learning mode in particular suggests an interest in educational and onboarding use cases, where the goal is skill transfer rather than pure task throughput. This aligns with a wider industry trend of making large language model deployments more configurable at the product layer without requiring model retraining or fine-tuning for each downstream use case.

The token economics embedded in the design further reflect mature thinking about production deployment costs. The acknowledgment that Explanatory and Learning styles inherently increase output token usage — and that prompt caching mitigates, but does not eliminate, the input token overhead of richer system prompts — positions output styles not merely as a user-experience feature but as a resource-management decision. Organizations deploying Claude Code at scale will need to weigh the pedagogical or workflow benefits of non-default styles against the incremental inference costs they carry, a calculus that becomes increasingly important as AI-assisted development moves from individual productivity tools to enterprise-wide infrastructure.

Read original article →