Docs: desktop app output style picker, per-session override and New style dialog are undocumented; per-session choice is invisible to CLI
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 theoutputStylefield in a settings file, for example.claude/settings.local.json, the file the terminal menu writes. When you run/configthere, 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.
- 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." - Session menu (three dots) > Output style: a per-session override with the same list, plus New style...
- 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:
outputStyleis absent from~/.claude/settings.json,.claude/settings.jsonand.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_<id>.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.