Skip to content

Troubleshooting

Start with eklavya doctor. It answers most of these in one screen, and it checks the install itself — the runtime, the SQLite driver, the plugin’s registration and the chat skill — before anything else. If one of those has broken, doctor says which and tells you to run eklavya install, which is idempotent and repairs all four without touching your history.

That first block matters more than it looks. Eklavya never breaks a session: every hook exits successfully whatever happens. So a broken install and a quiet one look identical from the inside — it just stops asking. doctor is the only thing that tells them apart.

SymptomLikely cause and fix
No profile line at session startEither quiet is true, mode is off, the runtime is not installed yet, or the plugin did not load. Run /plugin and check for errors, then eklavya doctor. If you installed through the marketplace, npx eklavya install finishes the runtime immediately.
No questions at all, everCheck the mode is not off. Then check that Claude is actually logging concepts — with nothing logged there is nothing grounded to ask about. /eklavya:quiz will tell you which of the two it is.
Nothing at all in a long session, and nothing was ever loggedThe instruction to log concepts is injected once, at session start, so in a long session it can end up buried under everything that came after it. Eklavya notices this particular case: after about twelve minutes of a session that has logged nothing, it restates the instruction in one line — at most once every twenty-five minutes, and at most three times before it gives up, because a session that logs nothing is also what an unreachable server looks like. Resuming a session or compacting one starts that count again, since the original instruction is reprinted then too. mode: off is what switches the reminder off; quiet does not, because the reminder is context for Claude rather than output for you.
Questions arrived earlier in the session, then stoppedThis is the other case, and no reminder fires for it — concepts are logged per task, and a task can legitimately run a long time, so Eklavya cannot tell a quiet stretch from a long one. Ask Claude directly to log what the current task touched, or run /eklavya:quiz.
Questions only arrive at the end, or several in a rowCadence is end. eklavya config set cadence interleaved — that asks at the seam where a concept is logged, and caps a quiz at one question. If they still arrive late on interleaved, Claude is logging concepts at the end of the task rather than as it works; tell it to log as it goes.
Too many interruptionsRaise min_minutes_between_checkpoints, or lower max_questions_per_task. Switching to end is the blunt version.
Questions feel far too easyYou are on easy, which is where every project starts. Run /eklavya:level to see the runway — you may be close to a promotion. Pin a band only if you are sure.
My personal setting stopped applyingA .eklavya.json in this repository is overriding it. The session banner names which settings; eklavya config get prints the file path.
The database file does not existThe MCP server never started. Check /plugin for errors and confirm node --version is 22 or newer — below that the native database binding has no prebuilt binary and will not install.
A commit is blocked and I do not know why/eklavya:gate tells you how many concepts are outstanding. /eklavya:quiz clears it.
Commits are blocked but I never chose enforcedThe repository sets it. Open .eklavya.json at the repository root; repo settings beat personal ones by design.
The git hook does not fireIt only acts on repositories whose .eklavya.json sets "mode": "enforced", and it deliberately fails open when jq or sqlite3 is missing. Check both.
Eklavya worked, then went silent after a Node upgradeThe SQLite driver’s prebuilt binary is tied to a Node ABI. eklavya doctor reports this as driver: FAILED; eklavya install rebuilds it.
doctor says the plugin is registered but not enabledUnder enabledPlugins in ~/.claude/settings.json, eklavya@eklavya is false or missing entirely. Re-enable it there, with /plugin in Claude Code, or by running eklavya install.
doctor says the skill is a different skill named eklavyaYou have your own ~/.claude/skills/eklavya/. Eklavya will not overwrite it — rename or move yours, then run eklavya install.