[FEATURE] Add enable/disable toggle for DXT extensions without uninstalling
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
Currently, installed DXT extensions are either installed (always active) or uninstalled (gone). There is no way to temporarily disable an extension without removing it entirely.
This matters because:
- Every installed extension's tool definitions are loaded into the system prompt of every conversation, consuming input tokens even when the tools aren't needed. With multiple extensions (e.g., Desktop Commander = 26 tools, Claude in Chrome = 18 tools), a user can easily have 80-100+ tool definitions loaded, costing ~90,000+ tokens per conversation just in system prompt overhead — before the user even types a word.
- Each DXT extension runs as a background Node.js process, consuming RAM and CPU even when idle.
- Some extensions are only needed situationally (e.g., travel search tools, C++ language server, code review tools), but there's no way to keep them installed-but-inactive for when they're not needed.
- The only workaround is to fully uninstall and reinstall extensions, which is tedious and may lose per-extension configuration/credentials.
Proposed Solution
Add a toggle switch next to each installed extension in the Customize > Personal plugins sidebar (and similarly for connectors), allowing users to:
- Disable an extension: keeps it installed on disk with all settings/credentials preserved, but does NOT load its tool definitions into the system prompt or start its background Node.js process
- Enable an extension: loads tools and starts the background process as normal
This is the same UX pattern used by browser extensions (Chrome, Firefox, Safari) which all have an enable/disable toggle separate from uninstall.
Benefits:
- Users can maintain a large library of extensions without paying the token cost for all of them in every conversation
- Reduces system resource usage (RAM, CPU) from idle background processes
- Enables task-specific setups (e.g., coding mode vs. travel planning mode)
- No re-configuration needed when re-enabling (credentials, settings preserved)
- Power users with 5+ extensions would see the most benefit — easily saving 30,000-50,000+ tokens per conversation by disabling unused tools
Alternative Solutions
Current workarounds I've tried:
- Uninstall/reinstall cycle — Works but tedious. Requires going to Manage > Uninstall, then re-finding and reinstalling from the registry each time. Local .dxt sideloaded extensions need the file re-dragged.
- Removing redundant extensions — I identified overlapping tools (e.g., Control Chrome DXT is a subset of Claude in Chrome connector) and removed them. This helped marginally (~2,500 tokens saved) but doesn't address the core problem of situational extensions.
- Just living with the overhead — Currently eating ~90,000+ tokens in tool definitions per conversation across ~89 tools, even when most conversations only use 3-5 of them.
Note: Issue #28775 shows that a toggle UI already partially exists in the Code tab's Connectors menu, but it doesn't work due to a config path mismatch. Extending this toggle concept to the main Desktop Customize menu for DXT extensions would solve the problem.
Priority
Medium - Would be very helpful
Feature Category
Configuration and settings
Use Case Example
Real scenario from my setup:
- I have 4 DXT extensions installed: Desktop Commander (26 tools), Context7 (2 tools), Apple Notes (4 tools), Airbnb Search (2 tools)
- Plus 5 cloud connectors: Kiwi flights, Trivago hotels, Claude in Chrome, Claude Preview, Scheduled Tasks
- This loads ~89 tools / ~90,000 tokens into EVERY conversation's system prompt
- When I'm doing a coding task, I don't need Kiwi, Trivago, or Airbnb — but their tool definitions still consume ~10,600 tokens
- When I'm planning travel, I don't need Desktop Commander's 26 tools (~32,300 tokens)
- With a toggle, I could disable travel tools during coding and disable dev tools during travel planning, saving 30,000-50,000 tokens per conversation
- This would let me get more out of my context window and reduce rate limit pressure on my Max plan
Additional Context
Technical context:
- Every active DXT extension injects its full tool JSON schema (name, description, parameters) into the system prompt of every new conversation
- A single extension like Desktop Commander with 26 tools adds ~32,000 tokens to the system prompt
- Each DXT also runs a background Node.js process consuming ~50-100MB RAM even when idle
- The
extensions-installations.jsonfile already tracks all installed extensions — adding a"disabled": truefield per extension would be a minimal implementation
Related issues:
- #28775 — DXT extensions have a toggle in Code tab's Connectors menu, but it doesn't work due to config path mismatch (closed as duplicate of #26259). The UI pattern already exists but needs to be extended to the main Desktop Customize sidebar.
Similar UX in other tools:
- Chrome extensions: enable/disable toggle in chrome://extensions
- VS Code extensions: disable per-workspace or globally
- Firefox add-ons: enable/disable without removing
Environment: Claude Desktop on macOS, Claude Max plan
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗