[FEATURE] Output style should be session-scoped, not shared across instances in the same project

Resolved 💬 1 comment Opened Apr 30, 2026 by ivanlxc Closed Jun 1, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Problem
When I open multiple Claude Code instances in the same project directory, they all share the same output style setting. If I change the output style in one instance via /config, the change is written to .claude/settings.local.json and immediately affects every other instance running in that project. There's no way to have different output styles in different windows of the same project.

My use case
I often run two Claude Code instances side-by-side in the same repo:

  • One for active coding, where I want the default concise style.
  • One for exploring an unfamiliar part of the codebase, where I want the Learning style for richer explanations.

Right now, switching one window to Learning forces the other into Learning too, which breaks my workflow.

Proposed Solution

Make output style changes through /config session-scoped by default, similar to how /model works — it switches the model for the current session without permanently overwriting settings. A few possible shapes:

  1. Output style changes apply to the current session only and don't persist to settings.local.json.
  2. Add an explicit "save as default" option in /config for persistence; otherwise treat the change as session-only.
  3. Separate "default output style" (persisted) from "active output style" (per-session override).

Alternative Solutions

  • Manually editing settings.local.json between sessions — tedious.
  • Using separate worktrees or directories per instance — overkill when I just want different output styles in the same repo.

Priority

Medium - Would be very helpful

Feature Category

CLI commands and flags

Use Case Example

_No response_

Additional Context

I think the broader principle worth considering is: any setting changeable via a slash command should default to session-scoped, with explicit opt-in for persistence. That would prevent the same problem from showing up in other settings managed through /config.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗