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"
repowise init does not need one. Without a resolvable provider it
renders the wiki from your code's structure and exits 0, so a missing key
is never what stopped an init run. update in docs mode, generate,
restyle, and health --generate-code do need a provider.
To set one:
export ANTHROPIC_API_KEY=sk-ant-...
# Windows PowerShell:
$env:ANTHROPIC_API_KEY = "sk-ant-..."To index with no model in the loop at all:
repowise init --yes --no-proseREPOWISE_PROVIDER is set but ignored
An empty value is treated as unset, not as a provider named "". CI
matrices routinely export REPOWISE_PROVIDER: "" for the keyless arm, and
that resolves to normal auto-detection rather than an error.
An init prompt aborted the run in CI
It no longer does. If the first interactive prompt reads EOF, which is what
happens when an agent or a CI job pipes stdin, init prints a notice and
continues with defaults.
The cost gate behaves the same way: it never prompts when stdin is not a
terminal. It auto-declines, keeps the index it already built, and renders
the wiki from structure. repowise init --yes is the command to reach for
in a script.
Indexing hangs or times out
- Checked-in minified bundles (webpack/rollup/storybook output and
similar) 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 and we'll check the queue manually.
Language support
16 languages with AST support and dedicated resolvers, 11 of them at the Full tier, plus per-language framework awareness for Django, FastAPI, Flask, Express, Spring Boot, Rails, Laravel, and more.
Dashboard
The local web dashboard that reads your .repowise index and answers architecture, health, ownership and history questions without sending anything off your machine.