anthropics / anthropics/claude-code
Docs: desktop app output style picker, per-session override and New style dialog are undocumented; per-session choice is invisible to CLI
- Dominant language
- Python
- Stars
- 145k
- Forks
- 23.1k
- PR merge metrics
- PR metrics pending
Description
## Summary
The output styles docs say the desktop app has no style picker and that users must edit `outputStyle` in a settings file. The shipped desktop app has a full picker, and its per-session choice is stored somewhere the CLI never reads. The docs are behind the feature, and the storage behaviour has a consequence users can't discover from the docs.
## What the docs say
https://code.claude.com/docs/en/output-styles.md, "Change the output style":
> **Desktop app**: set the `outputStyle` field in a settings file, for example `.claude/settings.local.json`, the file the terminal menu writes. When you run `/config` there, Claude Code opens Settings > Claude Code rather than a menu.
https://code.claude.com/docs/en/desktop.md does not mention output styles at all.
## What the desktop app actually has
Claude Desktop 2.2553.0.0 on Windows 11, bundled Claude Code 2.1.274.
1. **Settings > Claude Code > Output style**: a global dropdown listing Default, Concise, Explanatory, Learning, Proactive, plus user custom styles from `~/.claude/output-styles/`. Help text: "Applies to new sessions; the session menu can override it for a single session."
2. **Session menu (three dots) > Output style**: a per-session override with the same list, plus **New style...**
3. **New style...**: a dialog ("Describe the style, and Claude will draft it for you") with a description field and optional name, that generates a custom style file.
None of these three are documented.
## Storage behaviour worth documenting
With Collaborator (a custom style) selected via the per-session menu:
- `outputStyle` is absent from `~/.claude/settings.json`, `.claude/settings.json` and `.claude/settings.local.json`.
- The choice is written as `"outputStyle":"Collaborator"` inside the desktop app's own session record under `%APPDATA%\Claude\claude-code-sessions\<...>\local_.json`.
So the per-session override lives in desktop state, not in the settings files the docs describe, and the CLI cannot see it. A user who sets a style per-session in Desktop and later resumes that session from the terminal will get a different style with no indication why. I have not tested what the desktop does for a session with no override when the global default is changed after the session was created.
## Suggested fix
- Update the Desktop bullet on the output styles page to describe the settings dropdown, the per-session menu, and the New style dialog.
- State where the global default is written (presumably `~/.claude/settings.json`) and that the per-session override is desktop-only state not visible to the CLI.
- Add an output styles section to the desktop page.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with code.claude.com/docs/en/output-styles.md and code.claude.com/docs/en/desktop.md, using the reported Desktop settings and session-menu behavior as the source of truth. Document the global picker, per-session override, New style dialog, and the desktop-only storage consequence, while separating confirmed behavior from the untested default-change case.
Written by the indexing model from the issue text.
Assessment
- Domain
- cli, desktop, documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 72/100