Updates and removal
Automatic updates
Automatic updates are on by default. At most once an hour, a new Claude Code session checks npm in the background. If a newer release is available, Eklavya updates its runtime, plugin files, chat skills and registration, keeping your settings. Your current session continues; the next session loads the new version and announces it once.
The global eklavya command delegates to the newer runtime when present, so
you do not need to reinstall the global package for each release. Automatic
updates write under your home directory and do not require sudo.
Update now or turn updates off
eklavya updateTo stop automatic checks and runtime catch-up:
eklavya config set auto_update falseThis setting is global because the machine has one runtime. Manual
eklavya update still works. A completely missing runtime is still bootstrapped
when the plugin starts; a runtime selected through EKLAVYA_RUNTIME is never
automatically changed.
If Claude Code updates the plugin first, the next session catches the runtime up in the background, unless automatic updates are off. Eklavya does not downgrade a runtime that is already newer.
An update that installs a new runtime stops the background dashboard first and starts it again on the new version. Windows cannot replace the database driver while a running dashboard has it loaded.
Diagnose an update
eklavya doctorRead the updates and versions rows. ~/.eklavya/update.log contains the last
background run’s output. Failed updates produce a session notice until they
succeed; network failures stay quiet for a week before a notice appears.
Run eklavya update to retry and see the error directly.
Only one runtime installation runs at a time. If you see
another Eklavya install is running (pid …), wait for that process to finish
before retrying. See Troubleshooting
for other repairs.
Installer safety and backups
You can repeat eklavya install to repair the install. Existing settings and
learning history are preserved. Use eklavya install --settings only when you
want to revisit the settings walk.
Before changing a shared JSON file, Eklavya saves one .eklavya-bak copy beside
it. This applies to Claude Code’s settings.json, plugins/known_marketplaces.json,
plugins/installed_plugins.json, and Eklavya’s configuration files. The backup
holds the contents before the last command that changed the file.
For example, on macOS or Linux, restore Claude Code settings with:
mv ~/.claude/settings.json.eklavya-bak ~/.claude/settings.jsonIf a required JSON file is invalid, the installer names it and stops before changing it. Fix the named file and retry. Uninstall and configuration writes also refuse to overwrite invalid JSON.
Uninstalling
Remove the Claude Code plugin and both user chat skills while keeping your learning history:
npx eklavya uninstallUninstalling stops the background dashboard. Restart Claude Code to unload the
plugin. Reinstalling later reuses the saved database.
The global npm command, if you installed it, can be removed separately with
npm uninstall -g eklavya.
Some integrations need separate removal:
- Project-scoped plugins: uninstall lists those that remain. Remove each
through
/pluginin its project. Shared plugin files and runtime are kept while they are still needed.--purgeremoves the runtime anyway (the plugin files stay), so those projects needeklavya installagain. - Git hooks: uninstall reports a hook in the current repository and prints its removal command. Follow it, and repeat for any other repository where you enabled the gate. See The commit gate.
- Cowork: remove its copy through Customize → Plugins → Eklavya → Uninstall in Claude Desktop.