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 CHANGED
@@ -4,17 +4,26 @@
4
4
  [![npm downloads](https://img.shields.io/npm/dm/claude-depester.svg)](https://www.npmjs.com/package/claude-depester)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
6
 
7
- Remove silly thinking words from Claude Code.
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-02-10 | **Tested with:** Claude Code 2.1.4 - 2.1.38 | **Platforms:** Linux, macOS, Windows
11
+ > **Last updated:** 2026-03-22 | **Tested with:** Claude Code 2.1.4 - 2.1.81 | **Platforms:** Linux, macOS, Windows
12
12
  >
13
- > v1.4.0: Fixed MachO binary bloat on macOS with Claude Code 2.1.37+ ([#5](https://github.com/ominiverdi/claude-depester/issues/5)). Added support for new Bun data format. Uses raw file write instead of LIEF write() for MachO/PE repacking.
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
+ ![Thinking... instead of whimsical words](img/thinking.png)
18
+
19
+ **CLI - Completion:**
14
20
 
15
- ![Thinking... instead of silly words](img/thinking.png)
16
21
  ![Thought for Xs instead of Baked/Brewed/etc](img/thought.png)
17
22
 
23
+ **VS Code Extension:**
24
+
25
+ ![VS Code extension also patched](img/vscode.png)
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
- # Auto-patch after updates (recommended)
50
- npx claude-depester --install-hook
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
- That's it! Restart Claude Code for changes to take effect.
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
- - Optional SessionStart hook for auto-patching after updates
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 --all` | Patch ALL installations (CLI + VS Code) |
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 original from backup |
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 installation. Use `--list` to see all found installations, and `--all` to patch them all at once.
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
- > **Important for VS Code users:** The extension has TWO places with spinner words - the native binary AND the webview. Use `--all` to patch both!
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
- With the hook installed (`--install-hook`), patching happens automatically on startup.
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
- ## How the Hook Works
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
- Every time Claude Code starts, it checks and re-applies the patch if needed.
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 --all # Patch ALL components
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. Open an issue with your Claude Code version (`claude --version`)
195
- 2. Include the output of `npx claude-depester --dry-run --verbose`
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 --all # Restore all installations
201
- npx claude-depester --remove-hook # Remove auto-patch hook
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 two arrays:
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)