Skip to content

fix(wizard): move semantic_search config out of ~/.claude/settings.json#12

Merged
Lisztos merged 1 commit intomainfrom
fix/semantic-search-config
Mar 25, 2026
Merged

fix(wizard): move semantic_search config out of ~/.claude/settings.json#12
Lisztos merged 1 commit intomainfrom
fix/semantic-search-config

Conversation

@Lisztos
Copy link
Copy Markdown
Owner

@Lisztos Lisztos commented Mar 24, 2026

Ported from parcadei/Continuous-Claude-v3#137 by @tkavelli


Summary

Wizard now writes semantic search config to ~/.config/tldr/config.json instead of ~/.claude/settings.json. Also cleans up stale semantic_search key from previous installations.

Problem

The wizard injects a semantic_search key into ~/.claude/settings.json (Claude Code's global settings). Claude Code does not recognise this key and reports Found N invalid settings files on every startup. Additionally, the tldr daemon reads this config from a different location, so the global write never reached the daemon.

Test plan

  • Run wizard — semantic search step writes to ~/.config/tldr/config.json
  • Verify ~/.claude/settings.json does not contain semantic_search key
  • Verify Claude Code no longer reports invalid settings files

WHAT CHANGED:

1. opc/scripts/setup/wizard.py:
   - Semantic search config now writes to ~/.config/tldr/config.json
     instead of ~/.claude/settings.json
   - Added cleanup: removes stale "semantic_search" key from
     ~/.claude/settings.json if present from previous installations
   - WHY: Claude Code does not recognise the "semantic_search" key
     and reports the settings file as invalid ("Found N invalid
     settings files"). The tldr daemon reads per-project config
     from <project>/.tldr/config.json at runtime anyway.

CONTEXT:
The wizard was injecting a non-standard key into Claude Code's
global settings file. Claude Code validates its settings schema
and flags unknown keys, causing a warning on every startup.
The daemon's default config already matches the wizard's defaults
(bge-large-en-v1.5, threshold=20), so the global write was mostly
redundant — but the GPU-detection logic (choosing all-MiniLM-L6-v2
for CPU-only systems) is preserved in the new location.
@Lisztos Lisztos force-pushed the fix/semantic-search-config branch from 9716b32 to a72a4ff Compare March 25, 2026 02:29
@Lisztos Lisztos merged commit aae008d into main Mar 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants