claude-depester 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +68 -24
- package/bin/claude-depester +368 -136
- package/lib/bun-binary.js +43 -17
- package/lib/detector.js +3 -0
- package/lib/hooks.js +143 -3
- package/lib/patcher.js +464 -96
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -4,17 +4,26 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/claude-depester)
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Patches Claude Code CLI and VS Code extension to replace whimsical loading words with simple 'Thinking'.
|
|
8
8
|
|
|
9
9
|
Instead of seeing "Flibbertigibbeting", "Discombobulating", "Clauding", etc., you'll see a clean "Thinking".
|
|
10
10
|
|
|
11
|
-
> **Last updated:** 2026-
|
|
11
|
+
> **Last updated:** 2026-03-22 | **Tested with:** Claude Code 2.1.4 - 2.1.81 | **Platforms:** Linux, macOS, Windows
|
|
12
12
|
>
|
|
13
|
-
> v1.
|
|
13
|
+
> v1.5.0: New `--no-animation` flag disables the animated spinner icon in both CLI and VS Code. New `--no-tips` flag hides spinner tips. Fix for `--restore` crashing on locked files. Thanks [@noobydp](https://github.com/noobydp)!
|
|
14
|
+
|
|
15
|
+
**CLI - Spinner:**
|
|
16
|
+
|
|
17
|
+

|
|
18
|
+
|
|
19
|
+
**CLI - Completion:**
|
|
14
20
|
|
|
15
|
-

|
|
16
21
|

|
|
17
22
|
|
|
23
|
+
**VS Code Extension:**
|
|
24
|
+
|
|
25
|
+

|
|
26
|
+
|
|
18
27
|
## The Problem
|
|
19
28
|
|
|
20
29
|
Claude Code displays random silly words while thinking:
|
|
@@ -45,22 +54,33 @@ npx claude-depester --dry-run
|
|
|
45
54
|
|
|
46
55
|
# Patch Claude Code
|
|
47
56
|
npx claude-depester
|
|
57
|
+
```
|
|
48
58
|
|
|
49
|
-
|
|
50
|
-
|
|
59
|
+
Restart Claude Code for changes to take effect.
|
|
60
|
+
|
|
61
|
+
### Auto-patch after updates (recommended)
|
|
62
|
+
|
|
63
|
+
Add a shell wrapper that patches before each invocation:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# Add to your .bashrc or .zshrc
|
|
67
|
+
cl() { npx claude-depester --silent --log ; claude "$@" ; }
|
|
51
68
|
```
|
|
52
69
|
|
|
53
|
-
|
|
70
|
+
Then use `cl` instead of `claude`. This ensures patching happens *before* Claude loads.
|
|
54
71
|
|
|
55
72
|
## Features
|
|
56
73
|
|
|
57
74
|
- **Patches spinner words** ("Flibbertigibbeting..." -> "Thinking...")
|
|
58
75
|
- **Patches completion verbs** ("Baked for 42s" -> "Thought for 42s")
|
|
76
|
+
- **Disables spinner animation** (`--no-animation`) - replaces cycling icon with a static dot
|
|
77
|
+
- **Disables spinner tips** (`--no-tips`) - hides "Tip: ..." messages shown during thinking
|
|
59
78
|
- Works with native binaries (Bun-compiled) and npm installations
|
|
60
79
|
- **Patches VS Code/VSCodium extension webview** (the UI that shows spinner text)
|
|
80
|
+
- **Supports remote development** (VS Code Remote SSH, Cursor SSH)
|
|
61
81
|
- Auto-detects your Claude Code installation
|
|
62
82
|
- Creates backup before patching (can restore anytime)
|
|
63
|
-
-
|
|
83
|
+
- Shell wrapper for reliable auto-patching before Claude loads
|
|
64
84
|
- Content-based detection survives version updates
|
|
65
85
|
- Cross-platform: Linux, macOS, Windows (WSL/Git Bash)
|
|
66
86
|
|
|
@@ -68,13 +88,17 @@ That's it! Restart Claude Code for changes to take effect.
|
|
|
68
88
|
|
|
69
89
|
| Command | Description |
|
|
70
90
|
|---------|-------------|
|
|
71
|
-
| `npx claude-depester` | Patch Claude Code |
|
|
72
|
-
| `npx claude-depester --
|
|
73
|
-
| `npx claude-depester --list` | List all found installations |
|
|
91
|
+
| `npx claude-depester` | Patch all Claude Code installations |
|
|
92
|
+
| `npx claude-depester --list` | List all found installations and status |
|
|
74
93
|
| `npx claude-depester --dry-run` | Preview changes (no modifications) |
|
|
75
94
|
| `npx claude-depester --check` | Check patch status |
|
|
76
|
-
| `npx claude-depester --restore` | Restore
|
|
95
|
+
| `npx claude-depester --restore` | Restore all from backup |
|
|
96
|
+
| `npx claude-depester --no-animation` | Disable animated spinner icon |
|
|
97
|
+
| `npx claude-depester --no-tips` | Disable spinner tips |
|
|
98
|
+
| `npx claude-depester --path <file>` | Target a specific file |
|
|
77
99
|
| `npx claude-depester --verbose` | Show detailed info |
|
|
100
|
+
| `npx claude-depester --debug` | Show detailed debug info (for troubleshooting) |
|
|
101
|
+
| `npx claude-depester --log` | Write results to `~/.claude/depester.log` |
|
|
78
102
|
| `npx claude-depester --install-hook` | Auto-patch after updates |
|
|
79
103
|
| `npx claude-depester --remove-hook` | Remove auto-patch hook |
|
|
80
104
|
| `npx claude-depester --hook-status` | Check hook status |
|
|
@@ -89,6 +113,8 @@ That's it! Restart Claude Code for changes to take effect.
|
|
|
89
113
|
| VS Code extension | `~/.vscode/extensions/anthropic.claude-code-*/` | Fully supported |
|
|
90
114
|
| VS Code webview | `~/.vscode/extensions/.../webview/index.js` | Fully supported |
|
|
91
115
|
| VSCodium extension | `~/.vscode-oss/extensions/anthropic.claude-code-*/` | Fully supported |
|
|
116
|
+
| VS Code Remote (SSH) | `~/.vscode-server/extensions/anthropic.claude-code-*/` | Fully supported |
|
|
117
|
+
| Cursor Remote (SSH) | `~/.cursor-server/extensions/anthropic.claude-code-*/` | Fully supported |
|
|
92
118
|
| Local npm | `~/.claude/local/node_modules/@anthropic-ai/claude-code/` | Fully supported |
|
|
93
119
|
| Global npm | `npm root -g`/@anthropic-ai/claude-code/ | Fully supported |
|
|
94
120
|
|
|
@@ -109,13 +135,13 @@ That's it! Restart Claude Code for changes to take effect.
|
|
|
109
135
|
| VS Code extension | `%USERPROFILE%\.vscode\extensions\anthropic.claude-code-*\` | Fully supported |
|
|
110
136
|
| VS Code webview | `...\extensions\...\webview\index.js` | Fully supported |
|
|
111
137
|
|
|
112
|
-
The tool auto-detects your
|
|
138
|
+
The tool auto-detects all your installations. Use `--list` to see them. All commands (patch, check, restore) operate on all installations by default. Use `--path <file>` to target a specific file.
|
|
113
139
|
|
|
114
|
-
> **
|
|
140
|
+
> **Remote Development (SSH):** When using VS Code Remote or Cursor over SSH, run the tool **on the remote server** to patch `~/.vscode-server` or `~/.cursor-server`.
|
|
115
141
|
|
|
116
142
|
## After Claude Code Updates
|
|
117
143
|
|
|
118
|
-
|
|
144
|
+
If you're using the shell wrapper (recommended), patching happens automatically before each session.
|
|
119
145
|
|
|
120
146
|
Otherwise, just run `npx claude-depester` again after updating.
|
|
121
147
|
|
|
@@ -127,7 +153,9 @@ npx claude-depester --restore
|
|
|
127
153
|
|
|
128
154
|
This restores from the backup created during patching.
|
|
129
155
|
|
|
130
|
-
##
|
|
156
|
+
## SessionStart Hook (Alternative)
|
|
157
|
+
|
|
158
|
+
> **Note:** The shell wrapper is the recommended approach. The SessionStart hook has a limitation: it runs *after* Claude is already loaded into memory, so the patch only takes effect on the *next* session after an update.
|
|
131
159
|
|
|
132
160
|
The `--install-hook` command adds a SessionStart hook to `~/.claude/settings.json`:
|
|
133
161
|
|
|
@@ -139,7 +167,7 @@ The `--install-hook` command adds a SessionStart hook to `~/.claude/settings.jso
|
|
|
139
167
|
"hooks": [
|
|
140
168
|
{
|
|
141
169
|
"type": "command",
|
|
142
|
-
"command": "npx claude-depester --silent"
|
|
170
|
+
"command": "npx claude-depester --silent --log"
|
|
143
171
|
}
|
|
144
172
|
]
|
|
145
173
|
}
|
|
@@ -148,7 +176,12 @@ The `--install-hook` command adds a SessionStart hook to `~/.claude/settings.jso
|
|
|
148
176
|
}
|
|
149
177
|
```
|
|
150
178
|
|
|
151
|
-
|
|
179
|
+
This patches the file on disk at session start, but the current session may still show silly words until you restart. The `--log` flag writes results to `~/.claude/depester.log` (keeps last 50 entries) for troubleshooting.
|
|
180
|
+
|
|
181
|
+
To install or update the hook:
|
|
182
|
+
```bash
|
|
183
|
+
npx claude-depester --install-hook
|
|
184
|
+
> ```
|
|
152
185
|
|
|
153
186
|
## Troubleshooting
|
|
154
187
|
|
|
@@ -182,7 +215,7 @@ The VS Code extension has **TWO separate components** with spinner words:
|
|
|
182
215
|
You must patch BOTH for the fix to work. Use:
|
|
183
216
|
```bash
|
|
184
217
|
npx claude-depester --list # Should show both binary AND webview
|
|
185
|
-
npx claude-depester
|
|
218
|
+
npx claude-depester # Patches all components
|
|
186
219
|
```
|
|
187
220
|
|
|
188
221
|
Then **fully restart VS Code** (not just reload window).
|
|
@@ -191,14 +224,16 @@ Then **fully restart VS Code** (not just reload window).
|
|
|
191
224
|
|
|
192
225
|
The detection uses content-based matching, so it should survive version updates.
|
|
193
226
|
If the patch fails:
|
|
194
|
-
1.
|
|
195
|
-
2.
|
|
227
|
+
1. Run `npx claude-depester --debug` to see detailed diagnostics
|
|
228
|
+
2. Open an issue with your Claude Code version (`claude --version`)
|
|
229
|
+
3. Include the output of `npx claude-depester --debug`
|
|
196
230
|
|
|
197
231
|
### Want to undo everything
|
|
198
232
|
|
|
199
233
|
```bash
|
|
200
|
-
npx claude-depester --restore
|
|
201
|
-
npx claude-depester --remove-hook # Remove
|
|
234
|
+
npx claude-depester --restore # Restore all installations
|
|
235
|
+
npx claude-depester --remove-hook # Remove hook (if installed)
|
|
236
|
+
# Remove the shell wrapper from your .bashrc/.zshrc if added
|
|
202
237
|
```
|
|
203
238
|
|
|
204
239
|
## Technical Details
|
|
@@ -209,9 +244,11 @@ npx claude-depester --remove-hook # Remove auto-patch hook
|
|
|
209
244
|
|
|
210
245
|
2. **Extraction**: For native binaries (Bun-compiled), uses [node-lief](https://www.npmjs.com/package/node-lief) to properly extract the embedded JavaScript - the same approach used by [tweakcc](https://github.com/Piebald-AI/tweakcc)
|
|
211
246
|
|
|
212
|
-
3. **Patching**: Replaces
|
|
247
|
+
3. **Patching**: Replaces arrays and settings:
|
|
213
248
|
- Spinner words: `["Accomplishing",...,"Zigzagging"]` -> `["Thinking"]`
|
|
214
249
|
- Completion verbs: `["Baked",...,"Worked"]` -> `["Thought"]`
|
|
250
|
+
- Spinner icon animation (`--no-animation`): `["·","✢","*","✶","✻","✽"]` -> `["·"]`
|
|
251
|
+
- Spinner tips (`--no-tips`): sets `spinnerTipsEnabled: false` in Claude settings
|
|
215
252
|
|
|
216
253
|
4. **Repacking**: Rebuilds the binary with the modified JavaScript. Supports both old (pre-2.1.37) and new Bun data formats (different trailer signatures and module struct sizes)
|
|
217
254
|
|
|
@@ -219,6 +256,7 @@ npx claude-depester --remove-hook # Remove auto-patch hook
|
|
|
219
256
|
|
|
220
257
|
- **Backup**: `<original-file>.depester.backup`
|
|
221
258
|
- **Hook config**: `~/.claude/settings.json`
|
|
259
|
+
- **Debug log**: `~/.claude/depester.log` (when using `--log`)
|
|
222
260
|
|
|
223
261
|
## Requirements
|
|
224
262
|
|
|
@@ -260,6 +298,12 @@ This project builds upon work by:
|
|
|
260
298
|
- [vemv's gist](https://gist.github.com/vemv/c6333d53ede16198a23eb95425051b7b) - Original simple patch idea
|
|
261
299
|
- [heromantf's bun extractor](https://gist.github.com/heromantf/7db88edcb7b1c0c35067244584a01afc) - Bun binary structure documentation
|
|
262
300
|
|
|
301
|
+
## Donors
|
|
302
|
+
|
|
303
|
+
Thanks to these generous supporters:
|
|
304
|
+
|
|
305
|
+
- [@gyohng](https://github.com/gyohng)
|
|
306
|
+
|
|
263
307
|
## License
|
|
264
308
|
|
|
265
309
|
MIT - see [LICENSE](LICENSE)
|