Troubleshooting
Diagnose a broken index with repowise doctor, plus the most common install and indexing problems with their fixes.
First — run repowise doctor
repowise doctor
repowise doctor --repairdoctor validates the git repo, the .repowise/ directory, the
SQLite + vector + FTS stores, the persisted provider config, and
checks for stale pages. --repair fixes most mismatches automatically.
For most issues, this is the only command you need to run.
Common symptoms
"command not found: repowise"
Your shell can't find the binary.
- If you used
pip install --user: add~/.local/bin(Linux/macOS) or%APPDATA%\Python\Scripts(Windows) toPATH. - If you used
uv tool install: ensure~/.local/binis onPATH. - Verify with
which repowise/where repowise.
"ANTHROPIC_API_KEY is not set"
init and update need an LLM provider unless you pass --index-only.
export ANTHROPIC_API_KEY=sk-ant-...
# Windows PowerShell:
$env:ANTHROPIC_API_KEY = "sk-ant-..."To skip the LLM entirely:
repowise init --index-onlyIndexing hangs or times out
- Checked-in minified bundles (webpack/rollup/storybook output and
similar) — these pack thousands of near-identical tokens onto a few
huge lines and used to stall the duplication/health pass. repowise now
detects and skips minified/generated files automatically, but the
cleanest fix is to keep them out of the index: they're already excluded
if your
.gitignoreignores them (repowise reads nested.gitignorefiles, so a per-package.gitignorein a monorepo works), or exclude explicitly withrepowise init -x '**/<build-output-dir>/**'. - Tree-sitter crash on a generated file — exclude with
repowise init -x 'src/generated/**'. - Submodules being scanned unexpectedly — they're skipped by
default; only included with
--include-submodules. - Network flakiness on LLM calls — re-run
repowise init; it's idempotent and resumes from the last checkpoint with--resume.
Claude Code can't see the MCP tools
- Confirm
.mcp.jsonexists at the project root (repowise initwrites it). - Confirm
~/.claude/settings.jsonregisters the server. - Restart Claude Code.
- Run
repowise doctor— it cross-checks both files.
If the agent uses Grep and Read instead of calling get_overview,
the server didn't connect.
Wiki feels stale after a big merge
repowise update --since mainOr pass --force to repowise init to regenerate everything.
Windows: codec errors during indexing
Set UTF-8 encoding before init:
$env:PYTHONIOENCODING = "utf-8"
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
repowise initStore drift (SQL count ≠ vector count)
repowise doctor --repair
# or, nuclear:
repowise reindexreindex rebuilds the vector store from the wiki — embedding-only,
no LLM cost.
Hosted: indexing stuck on "queued"
Refresh the dashboard. If the status doesn't move within ~5 minutes of submission, contact us — we'll check the queue manually.
Language support
15 languages with AST support and dedicated resolvers, 9 of them at the Full tier — plus per-language framework awareness for Django, FastAPI, Flask, Express, Spring Boot, Rails, Laravel, and more.
Upgrading
Upgrade the repowise package, run repowise update, and your existing index keeps working. No reindex in the normal case — a full reindex is only ever recommended, never forced.