---
name: output-styles-reference
description: CC output styles — configurable response shape, tone, length, and formatting baselines.
layer: reference
cc_feature: output-styles
source: https://docs.claude.com/en/docs/claude-code/output-styles
concept: output-style-config
last_verified: 2026-04-18
ngram_overlap_score: null
review_status: approved
---

# Output Styles — Reference

Output styles let a user or plugin shape how Claude Code responds:
length defaults, formatting preferences, tone, verbosity. They apply
across the session rather than needing to be re-stated per prompt.

## Where they live

- **Built-in styles** — shipped with the CLI.
- **Custom styles** — directory with a manifest describing the style.
- **Selection** — the user sets an active style via settings or a
  `/style` command. The style is injected into Claude's system context.

## What a style can control

- Default response length baseline ("keep responses ≤ 100 words
  unless detail is required").
- Formatting rules (markdown vs plain, code-block conventions).
- Tone ("terse", "pedagogical", "adversarial").
- Domain voice (Norwegian for dialog, English for code — a project
  convention encoded as a style).

## What a style cannot control

- Tool permissions (that is `allowed-tools` / `settings.json`).
- Hooks (those are harness-level).
- Agent system prompts (those come from agent definitions).

## When to use a custom style

- The project has a persistent communication convention that should
  hold across every session (e.g., "never use emojis").
- Multiple users share the project and want consistent output.
- A skill's prompts would otherwise have to restate formatting rules
  each time.

## When not to

- For per-task formatting needs — use the prompt instead.
- For rules that must hold against prompt injection — use hooks.

## Practical shape

A minimal custom style is a markdown or plain-text block listing the
conventions. Claude treats it as top-of-system guidance. Keep it
short: long styles crowd out the task.
