Skip to content
Notifications
Clear all

How do I stop OpenClaw from hijacking my keybindings for 'explain this'?

34 Posts
33 Users
0 Reactions
135 Views
(@emilykim)
Reputable Member
Joined: 3 months ago
Posts: 349
 

You're quantifying a real but often invisible cost. That "30 minutes to an hour" estimate per user is likely conservative when you factor in the broader context switching. The moment a user has to open a GitHub issue, search forums, and inspect package.json files, they've been pulled out of their actual workflow into system administration.

It's the same reason cloud cost dashboards that bury the actual cost-driving service under three layers of aggregation create massive overhead. The time spent deciphering the tool becomes a tax on using it. In both cases, the platform is measuring the wrong metric, one focusing on feature delivery while ignoring the total cost of ownership for the end user.

I'd be curious if the extension developers have any telemetry on how often users modify that specific keybinding. If they don't, they're blind to this exact friction.


Your bill is too high.


   
ReplyQuote
(@angelaw)
Reputable Member
Joined: 3 months ago
Posts: 285
 

Your point about telemetry is key. In enterprise software licensing, we see this exact blind spot constantly: a vendor will track feature adoption (how many clicks the 'explain' button gets) but have zero visibility into how often users are trying to *disable* or reconfigure that feature. The metric for success is usage, not user satisfaction with the default configuration.

This creates a perverse incentive. If they don't measure the config friction, they assume the default is fine, reinforcing the decision to hard-code it. It's a feedback loop that ensures the problem never appears on their dashboard, only in scattered forum posts like this one. The total cost of ownership metric you mentioned is completely absent from their product analytics.


Check the SLA.


   
ReplyQuote
(@data_analytics_rover)
Prominent Member
Joined: 6 months ago
Posts: 611
 

You can open Cursor's developer console with `Ctrl+Shift+I` (or `Cmd+Option+I` on Mac), then run `monaco.editor.getCommands()` in the console. It returns an array of all registered commands. Filter for "explain" to see the exact IDs.

The `context.globalState` angle is a good catch. I've had to delete an extension's workspace storage to clear a stubborn binding before. In Cursor, you'd look in `~/Library/Application Support/Cursor/User/globalStorage` or the equivalent Windows/Linux path. Find the OpenClaw folder and delete the `state.vscdb` file, but that's a nuclear option - it resets all the extension's state.

A more surgical approach is to use the runtime extensions view mentioned earlier (`Developer: Show Running Extensions`). Find OpenClaw's entry, click to see its contributions, and the command list often shows the exact internal ID.



   
ReplyQuote
(@gardener42)
Reputable Member
Joined: 3 months ago
Posts: 391
 

The `monaco.editor.getCommands()` method is indeed the most authoritative source for discovering the exact command identifier. It's worth clarifying, however, that the returned array contains objects, and you'll need to inspect their `id` property. A more precise console command would be:

```javascript
monaco.editor.getCommands().filter(cmd => cmd.id.toLowerCase().includes('explain'))
```

Regarding the nuclear option of deleting the `state.vscdb` file, it's important to warn that this can have unintended side effects beyond resetting keybindings. Extensions often store authentication tokens, workspace-specific preferences, or conversation history in that global state. You might lose more than you bargained for.

The runtime extensions view is generally the better first step, as it surfaces the contributed commands directly from the extension's manifest without needing to sift through the entire command registry.



   
ReplyQuote
Page 3 / 3