claude-code - 💡(How to fix) Fix [BUG] /config settings do not persist across sessions — toggles are session-only

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Fix Action

Workaround

Manually edit ~/.claude/settings.json and add the desired keys (e.g., "defaultMode": "auto" inside the "permissions" block). These manual entries do persist and are respected on startup.

RAW_BUFFERClick to expand / collapse

Bug Description

Settings changed via the /config dialog (Config tab) do not persist across sessions. Toggling settings like "Default permission mode", "Show tips", or any other option in the /config UI only affects the current session — the values are never written to disk.

Evidence

Monitored all four settings files before and after toggling "Show tips" via /config:

FileChanged?Contains new setting?
~/.claude/settings.jsonNoNo
~/.claude/settings.local.jsonNoNo
<project>/.claude/settings.jsonNoNo
<project>/.claude/settings.local.jsonNoNo

Also checked ~/.claude.json — its timestamp updates during /config but only session metadata is written (e.g., tipsHistory, lastPlanModeUse), not the config preference values.

grep -rl "showTips\|defaultMode\|defaultPermission" across all ~/.claude/*.json files finds nothing written by /config.

The only way to persist settings like defaultMode is to manually add them to ~/.claude/settings.json, which does work and survives restarts.

Steps to Reproduce

  1. Start Claude Code (v2.1.139)
  2. Run /config, go to the Config tab
  3. Change "Default permission mode" from its current value to something else (e.g., "Auto mode" → "Plan mode")
  4. Dismiss the dialog
  5. Run grep defaultMode ~/.claude/settings.json ~/.claude/settings.local.json .claude/settings.json .claude/settings.local.json — no defaultMode key exists in any file
  6. Exit and restart Claude Code
  7. Run /config again — the setting has reverted to its previous value

This reproduces for all tested /config toggles, not just "Default permission mode."

Expected Behavior

/config changes should persist to ~/.claude/settings.json (or the appropriate scoped file) so they survive across sessions.

Environment

  • Claude Code version: 2.1.139
  • OS: Arch Linux (CachyOS kernel 7.0.5-2)
  • Shell: zsh
  • Auth type: Teams subscription (OAuth)

Workaround

Manually edit ~/.claude/settings.json and add the desired keys (e.g., "defaultMode": "auto" inside the "permissions" block). These manual entries do persist and are respected on startup.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING