[FEATURE] Persistent in-place plugin loading (no cache)
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
When developing plugins with feedback loops that modify their own source code (e.g., self-improving plugins, learning systems), the current caching behavior breaks the workflow:
- Plugins installed via
claude plugin installare copied to cache (~/.claude/plugins/cache/) - Any edits made by the plugin go to the cached copy, not the original source
- Changes are lost on reinstall/update
The --plugin-dir flag solves this by loading plugins in-place without caching, but it's session-only and must be specified every time.
Current Workarounds:
- Use
--plugin-direvery session (tedious, requires alias/wrapper) - Manually symlink cache directories to source (fragile, breaks on update)
- Store mutable state outside the plugin (requires restructuring)
Proposed Solution
Add a persistent way to load plugins in-place.
Option A: pluginDirs in settings.json
{
"pluginDirs": [
"/path/to/my-plugins"
]
}
Alternative Solutions
Option B: Per-plugin cache: false option
{
"plugins": {
"my-plugin@my-marketplace": {
"cache": false
}
}
}
Option C: --plugin-dir equivalent in settings
{
"defaultPluginDirs": [
"/path/to/dev-plugins"
]
}
Priority
High - Significant impact on productivity
Feature Category
Plugin system
Use Case Example
- Self-improving plugins: Sessions edit plugin source for continuous improvement
- Plugin development: Rapid iteration without reinstalling
- Shared team plugins: Single source of truth on network drive
- Local marketplaces: Development workflows where source = runtime
Additional Context
The --plugin-dir flag already implements the desired behavior—this request is simply to make it persistent via configuration.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗