[BUG] /config settings do not persist across sessions — toggles are session-only

Resolved 💬 1 comment Opened May 12, 2026 by chrispmcgee Closed Jun 11, 2026

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:

| File | Changed? | Contains new setting? |
|------|----------|-----------------------|
| ~/.claude/settings.json | No | No |
| ~/.claude/settings.local.json | No | No |
| <project>/.claude/settings.json | No | No |
| <project>/.claude/settings.local.json | No | No |

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.

View original on GitHub ↗

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