activeOutputStyle setting not propagated to status line runtime context
Bug Description
When a custom output style is selected via /output-style, the activeOutputStyle setting in ~/.claude/settings.json is not propagated to the runtime context passed to custom status line commands. This causes the status line to show default even when a custom style is active.
Steps to Reproduce
- Deploy a custom output style to
~/.claude/output-styles/ - Configure a custom status line command that displays the active style:
``json``
{
"statusLine": {
"type": "command",
"command": "read input && echo \"style:$(echo \"$input\" | jq -r '.output_style.name // \"default\"')\""
}
}
- Select the custom output style via
/output-style - Observe the command reports "Set output style to [Custom Style]"
- Bug: Status line shows
style:defaultinstead of the selected style
Expected Behavior
The status line should display the active output style name. The runtime JSON passed to status line commands should include:
{
"output_style": {
"name": "Custom Style Name"
}
}
Actual Behavior
The settings file correctly shows:
{
"activeOutputStyle": "Custom Style Name"
}
But the runtime context passed to status line commands does not include output_style.name, causing .output_style.name to return null and fall back to "default".
Schema Mismatch
| Component | Key Used |
|-----------|----------|
| Settings persistence | activeOutputStyle (string at root) |
| Status line runtime context | output_style.name (nested object) - missing |
Workaround
Update the jq expression to check both locations:
jq -r '.output_style.name // .activeOutputStyle // "default"'
Environment
- Claude Code version: 2.1.11
- OS: macOS
- Custom output styles deployed to
~/.claude/output-styles/
Related Issues
- #6126 - Documentation inconsistency with outputStyle setting
- #9947 - Unable to activate custom output styles
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗