Docs: desktop app output style picker, per-session override and New style dialog are undocumented; per-session choice is invisible to CLI

Status Open
Reported on v2.1.274
Maintainer reply None cached
Activity 0 comments · opened Sep 18, 2026

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_<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.

View original on GitHub ↗