Eklavya
Learn while your agent works — and carry project context forward.
Named for Ekalavya, who mastered archery practicing before a silent statue of his guru. Here, the statue talks back.
Eklavya is a plugin for Claude Code. It does two jobs:
- It helps you understand the code Claude writes. It asks you short questions about the work, while the work happens.
- It remembers what happened in your project. The next time you open Claude, it can recall what you did last time.
Your learning history and memory are stored on your computer. There is no
Eklavya account. Eklavya sends anonymous daily usage counts (including which dashboard
sections and explainers are used), never code, paths, names or text. Every field is listed,
and eklavya telemetry off stops them. New installs use claude-sonnet-5
through your Claude Code login for memory summaries and prompt feedback, so
captured session evidence goes to that model. Memory and data
explains the controls.
What you get
Learning
Eklavya notices the ideas behind Claude's work, like "database index" or "refresh token". Then it asks you about them.
Memory
Eklavya records what you and Claude do. It turns that into short notes called observations. When you start a new session, Claude gets recent, relevant notes to check against the code.
Memory is only evidence. It never marks a topic as learned. Only a real answer does that.
Artifacts
Ask Claude to explain something "as an Eklavya artifact". You get an HTML page with colour-coded diagrams, chosen to fit the idea (sequence, swimlane, state machine, bars and more), that you can print or save as PDF.
Dashboard
Run eklavya dashboard to open a local page in your browser. It keeps running
in the background, and each session start restarts it if needed. The sidebar's
foot shows the version it is running, with links to the docs. A malformed
request gets an error reply instead of stopping it. A page left open shows
new activity as it happens, including a session summary rewritten in place,
and never moves what you are reading. You can also
install it as an app
and open it from Spotlight, the Dock or the Start menu. On your first visits,
tips point out features;
dismiss them one by one or switch them off under Settings, then Companion. The archer companion walks toward you with a random verb (Pondering…) while loading and appears beside empty states and feedback; the same tab previews its 24 expressions and its loading walk and has the daily card switch. On a wide window
each page sits centred beside the sidebar. It has five parts:
For a short summary in chat, use /eklavya:progress.
The dials
Each setting works on its own. Memory has its own switch, so you can turn questions off and keep memory on.
By default Eklavya asks only in sessions that change code (edit tools or
shell commands, in this checkout, a sibling worktree or a repository below the
folder you started in; a git pull or branch switch alone does not count), up to four
questions per session on its own. Checkpoint questions are at least four minutes
apart; questions while background agents build share the budget but skip that
gap. /eklavya:quiz can always ask more. Change a dial with /eklavya:mode in Claude Code,
eklavya config set in a terminal (eklavya config get quiz.enabled reads one back), or the dashboard's Settings pages. quiz.panel can be changed with eklavya config set quiz.panel false or in Settings; a round you ask for with /eklavya:quiz keeps its topic and length across the panel's Next button, and a miss in the panel starts its explainer page in the background (and so does its orange New to me — Teach me button, which records "I don't know" even with explain_on_wrong off), asking once more and queuing a prompt for Claude only if Claude Code refuses or fails that start twice. A picked answer gets bold text, a thicker border and a filled background; on the desktop app each answer is a numbered card you can click anywhere on, Teach me is a compact button with its whole body clickable, the Other box is a three-line text area, and the header shows the mascot as vector art (the terminal draws the same head in coloured block characters). In the panel's Other box, Enter keeps what you typed and moves the keyboard to Submit answer. A prompt the panel sends Claude shows in your transcript as one short line. /eklavya-panel-demo opens a mock question to try the panel's clicks and a small picture test; nothing it does is recorded. If Claude Code's auto mode denies the panel's tools, allow them as the manual shows, or ask Claude to. See the dials
and every setting.
Commands
You can also just ask, like "Space out Eklavya's questions". See all commands and the CLI.
Install
With Claude Code and Node.js 22+ with npm on macOS, Linux or Windows:
npm install -g eklavya && eklavya install
The installer uses the defaults without asking settings questions and keeps any choices you already saved. Allow Eklavya's tools in auto mode, then restart Claude Code and start a task. Eklavya updates itself in the background. See Installation options for other setups.
Documentation
Or start at the full manual.
Contributing
Development setup, the manual test scripts and the release process are in
CONTRIBUTING.md. CI fails any change that leaves a line,
branch or function of the runtime untested (npm run coverage in mcp/).
Sponsors
Eklavya is sponsored by Nonstop.
License
MIT