Claude Code

Output styles

Built-in and custom output styles, keep-coding-instructions, plugin distribution, and prompt-cache effects.

An output style changes how Claude Code answers by modifying its system prompt: role, tone, format, or teaching approach. Keep project rules, coding conventions, and durable context in Memory and rules, not an output style.

If you repeatedly ask for a response format, use an output style. If you are describing build commands, tests, or protected directories, use CLAUDE.md or rules.

#Built-in styles

StyleBehaviorSuitable for
DefaultStandard software-engineering agentMost coding tasks
ProactiveMore autonomous execution and fewer routine questionsTasks intended to proceed automatically
ExplanatoryAdds explanations and insights while workingLearning a codebase and onboarding
LearningCollaborative learning with TODO(human) tasksTeaching and practice

Proactive is not a permission mode. Tools still follow permission rules.

#Switch styles

Use /config:

/config

Select Output style. The choice is normally stored in .claude/settings.local.json:

.claude/settings.local.json
{
  "outputStyle": "Explanatory"
}

Because the style changes the system prompt, changing it mid-session does not immediately replace the loaded prompt. Use /clear or start a new session.

The old /output-style command is deprecated and removed. Use /config or edit outputStyle directly.

#Custom output styles

A custom style is a Markdown file. Its filename supplies the default name unless frontmatter overrides it.

ScopeLocation
User~/.claude/output-styles/
Project.claude/output-styles/
Managed.claude/output-styles/ in the administrator-provided directory

Example:

.claude/output-styles/diagrams-first.md
---
name: Diagrams first
description: Start code explanations with a Mermaid diagram
keep-coding-instructions: true
---

When explaining code, architecture, or data flow, show a Mermaid diagram first,
then explain it in short paragraphs. Keep the diagram under 15 nodes.

Set keep-coding-instructions: true when changing presentation while retaining software-engineering behavior. You can omit it for writing, data analysis, or another non-coding role.

#Frontmatter

FieldPurpose
nameDisplay name; defaults to the filename
descriptionDescription in the /config picker
keep-coding-instructionsRetain the default coding instructions
force-for-pluginForce the style when distributed by a plugin

Plugins can ship styles in output-styles/. Users can select them through /config after enabling the plugin.

#Boundaries with other mechanisms

MechanismChangesTypical use
Output stylesSystem promptRole, tone, default response format
CLAUDE.mdUser-message contextProject rules, architecture, commands
--append-system-promptAdditional system instructions for one launchScripts and CI
SubagentsSeparate system prompt, model, and toolsIsolated specialist tasks
SkillsRelevant task instructionsReusable workflows

#Cost and caching

ActionEffect on five-minute / one-hour caching
Change outputStyle and continueLoaded system prompt usually remains unchanged immediately
Apply a new style after clear/new sessionChanges system prompt; next request usually misses
Explanatory or LearningLonger output and more output tokens
Long custom styleMore input tokens and higher initial cache-write cost
Frequent style switchingRepeated prompt/cache identity changes reduce reuse

Choose the style at the start of a task. Repeatedly changing tone mid-task is usually inefficient.

#Passion8 recommendations

ScenarioRecommendation
Everyday codingDefault
Fewer questions and more executionProactive with explicit permissions
Learning a large projectExplanatory
Teaching teammatesLearning
Fixed delivery formatA short custom style

Passion8 does not change the output-style mechanism. Model availability, billing, and caching still depend on the actual Claude Code request and gateway behavior.

#Official references

Support

Need help?

For setup, billing, or model issues, email us. Check the status page for uptime.

WeChat / QQ support is available at the bottom right.