What is Output Styles in Claude Code
Output Styles enable complete personality transformation of Claude Code by replacing the system prompt while preserving all tools and capabilities. Transform Claude Code for any domain beyond software engineering.
How to Use It
Access the interface:
/output-style
Switch directly:
/output-style explanatory
/output-style learning
/output-style default
Create custom styles:
/output-style:new I want an output style that acts as a UX research specialist
Settings persist at the project level and save to .claude/settings.local.json
, allowing different projects to maintain different personalities.
Why Use It
Output Styles operate at the system prompt level, the deepest customization layer available. Unlike other mechanics that augment software engineering behavior, Output Styles completely replace the core personality while preserving Claude Code's capabilities.
What Stays:
- Complete tool ecosystem (file operations, scripting, web research)
- CLAUDE.md project context system
- Sub-agent/Custom Agent delegation
- MCP integrations and automation workflows
- Project continuity and context management
What Changes:
- System prompt personality and domain assumptions
- Task prioritization and interaction patterns
- Response formatting and communication style
- Domain-specific expertise and thinking patterns
Unlike customizable sub-agents that operate independently, Output Styles transform the main interactive Claude instance. This means you can incrementally review and guide the work as it progresses, rather than waiting for completed results from non-interactive specialists.
Built-in Output Styles
Default - The software engineering system prompt designed for efficient coding tasks.
Explanatory - Maintains software engineering focus but adds educational Insights
between tasks, helping you understand implementation choices and codebase patterns.
Learning - Collaborative coding mode that provides insights and actively engages you through TODO(human)
markers for strategic code pieces you should implement yourself.
Creating Custom Output Styles
Generate with Claude's assistance using /output-style:new
followed by your requirements. Custom styles are saved as markdown files with this structure:
---
name: UX Research Specialist
description: Expert in user experience research, usability testing, and design analysis
---
# UX Research Specialist
You are an expert UX researcher specializing in user experience analysis,
usability testing, and design evaluation. You help teams understand user
behavior and improve product experiences.
## Specific Behaviors
- Prioritize user-centered thinking in all analysis
- Ask probing questions about user motivations and pain points
- Suggest research methodologies appropriate for different scenarios
- Frame technical decisions in terms of user impact
- Maintain focus on accessibility and inclusive design
Storage Locations:
- User-level:
~/.claude/output-styles
(available across all projects) - Project-level:
.claude/output-styles
(project-specific specialists)
Output Styles represent the deepest level of Claude Code customization. They change what Claude Code is, not just what it does. Use them when you need fundamental behavior transformation, not just task-specific guidance.
Output style changes apply at the project level, so different projects can maintain different personalities while sharing the same Claude Code installation.
See Also: CLAUDE.md Supremacy|Custom Agents|Install Claude Code|Configuration