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

Open Beginner friendly
#95,400 0 comments 0 reactions 0 assignees View on GitHub
area:desktop area:docs enhancement platform:windows
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.