CLAUDE-DEPESTER(1)

NAME

claude-depesterPatches Claude Code CLI and VS Code extension to replace whimsical loading words with simple 'Thinking'.

SYNOPSIS

INFO

24 stars
3 forks
0 views
JavaScriptAI & LLM

DESCRIPTION

Patches Claude Code CLI and VS Code extension to replace whimsical loading words with simple 'Thinking'.

README

claude-depester

npm version npm downloads License: MIT

Patches Claude Code CLI and VS Code extension to replace whimsical loading words with simple 'Thinking'.

Instead of seeing "Flibbertigibbeting", "Discombobulating", "Clauding", etc., you'll see a clean "Thinking".

Last updated: 2026-03-22 | Tested with: Claude Code 2.1.4 - 2.1.81 | Platforms: Linux, macOS, Windows

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!

CLI - Spinner:

Thinking... instead of whimsical words

CLI - Completion:

Thought for Xs instead of Baked/Brewed/etc

VS Code Extension:

VS Code extension also patched

The Problem

Claude Code displays random silly words while thinking:

Flibbertigibbeting...
Discombobulating...
Smooshing...
Wibbling...
Clauding...

And after thinking completes, it shows completion messages like:

Baked for 42s
Brewed for 15s
Churned for 30s

This tool replaces them with simple "Thinking" and "Thought for Xs".

Quick Start

# Preview changes first (recommended)
npx claude-depester --dry-run

Patch Claude Code

npx claude-depester

Restart Claude Code for changes to take effect.

Auto-patch after updates (recommended)

Add a shell wrapper that patches before each invocation:

# Add to your .bashrc or .zshrc
cl() { npx claude-depester --silent --log ; claude "$@" ; }

Then use cl instead of claude. This ensures patching happens before Claude loads.

Features

  • Patches spinner words ("Flibbertigibbeting..." -> "Thinking...")
  • Patches completion verbs ("Baked for 42s" -> "Thought for 42s")
  • Disables spinner animation (--no-animation) - replaces cycling icon with a static dot
  • Disables spinner tips (--no-tips) - hides "Tip: ..." messages shown during thinking
  • Works with native binaries (Bun-compiled) and npm installations
  • Patches VS Code/VSCodium extension webview (the UI that shows spinner text)
  • Supports remote development (VS Code Remote SSH, Cursor SSH)
  • Auto-detects your Claude Code installation
  • Creates backup before patching (can restore anytime)
  • Shell wrapper for reliable auto-patching before Claude loads
  • Content-based detection survives version updates
  • Cross-platform: Linux, macOS, Windows (WSL/Git Bash)

Commands

CommandDescription
npx claude-depesterPatch all Claude Code installations
npx claude-depester --listList all found installations and status
npx claude-depester --dry-runPreview changes (no modifications)
npx claude-depester --checkCheck patch status
npx claude-depester --restoreRestore all from backup
npx claude-depester --no-animationDisable animated spinner icon
npx claude-depester --no-tipsDisable spinner tips
npx claude-depester --path <file>Target a specific file
npx claude-depester --verboseShow detailed info
npx claude-depester --debugShow detailed debug info (for troubleshooting)
npx claude-depester --logWrite results to ~/.claude/depester.log
npx claude-depester --install-hookAuto-patch after updates
npx claude-depester --remove-hookRemove auto-patch hook
npx claude-depester --hook-statusCheck hook status
npx claude-depester --helpShow help

Supported Installation Methods

Linux

MethodPathStatus
Native binary~/.local/share/claude/versions/X.Y.ZFully supported
VS Code extension~/.vscode/extensions/anthropic.claude-code-*/Fully supported
VS Code webview~/.vscode/extensions/.../webview/index.jsFully supported
VSCodium extension~/.vscode-oss/extensions/anthropic.claude-code-*/Fully supported
VS Code Remote (SSH)~/.vscode-server/extensions/anthropic.claude-code-*/Fully supported
Cursor Remote (SSH)~/.cursor-server/extensions/anthropic.claude-code-*/Fully supported
Local npm~/.claude/local/node_modules/@anthropic-ai/claude-code/Fully supported
Global npmnpm root -g/@anthropic-ai/claude-code/Fully supported

macOS

MethodPathStatus
Native binary~/.local/share/claude/versions/X.Y.ZFully supported
Native binary~/Library/Application Support/Claude/versions/X.Y.ZFully supported
VS Code extension~/.vscode/extensions/anthropic.claude-code-*/Fully supported
VS Code webview~/.vscode/extensions/.../webview/index.jsFully supported
Homebrew/opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/Fully supported

Windows (WSL/Git Bash)

MethodPathStatus
Native binary%USERPROFILE%\.local\bin\claude.exeFully supported
Native binary%LOCALAPPDATA%\Claude\versions\X.Y.ZFully supported
VS Code extension%USERPROFILE%\.vscode\extensions\anthropic.claude-code-*\Fully supported
VS Code webview...\extensions\...\webview\index.jsFully supported

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.

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.

After Claude Code Updates

If you're using the shell wrapper (recommended), patching happens automatically before each session.

Otherwise, just run npx claude-depester again after updating.

Restore Original

npx claude-depester --restore

This restores from the backup created during patching.

SessionStart Hook (Alternative)

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.

The --install-hook command adds a SessionStart hook to ~/.claude/settings.json:

{
  "hooks": {
    "SessionStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "npx claude-depester --silent --log"
          }
        ]
      }
    ]
  }
}

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.

To install or update the hook:

npx claude-depester --install-hook
> ```

Troubleshooting

Still seeing silly words after patching?

You must fully restart Claude Code / VS Code / VSCodium after patching. The patch modifies the binary on disk, but running processes still use the old code in memory.

For VS Code / VSCodium:

  1. Close the editor completely (check it's not running in background)
  2. Kill any remaining processes: pkill -f codium or pkill -f &quot;Code&quot;
  3. Reopen the editor

To verify processes are stopped:

ps aux | grep -E &quot;(vscode|codium|claude)&quot; | grep -v grep
</code></pre>
<h3>&quot;Could not find Claude Code installation&quot;</h3>
<p>Make sure Claude Code is installed:</p>
<ul>
<li>Check with <code>claude --version</code></li>
<li>Run with <code>--verbose</code> to see searched paths</li>
<li>Use <code>--list</code> to see all detected installations</li>
</ul>
<h3>VS Code extension still showing silly words</h3>
<p>The VS Code extension has <strong>TWO separate components</strong> with spinner words:</p>
<ol>
<li><strong>Native binary</strong> (<code>resources/native-binary/claude</code>) - the backend</li>
<li><strong>Webview</strong> (<code>webview/index.js</code>) - the frontend UI that renders the spinner</li>
</ol>
<p>You must patch BOTH for the fix to work. Use:</p>
<pre><code class="language-bash">npx claude-depester --list    # Should show both binary AND webview
npx claude-depester           # Patches all components
</code></pre>
<p>Then <strong>fully restart VS Code</strong> (not just reload window).</p>
<h3>Patch not working after update</h3>
<p>The detection uses content-based matching, so it should survive version updates.
If the patch fails:</p>
<ol>
<li>Run <code>npx claude-depester --debug</code> to see detailed diagnostics</li>
<li>Open an issue with your Claude Code version (<code>claude --version</code>)</li>
<li>Include the output of <code>npx claude-depester --debug</code></li>
</ol>
<h3>Want to undo everything</h3>
<pre><code class="language-bash">npx claude-depester --restore        # Restore all installations
npx claude-depester --remove-hook    # Remove hook (if installed)
# Remove the shell wrapper from your .bashrc/.zshrc if added
</code></pre>
<h2>Technical Details</h2>
<h3>How it works</h3>
<ol>
<li><p><strong>Detection</strong>: Finds the silly words arrays by unique content markers (e.g., &quot;Flibbertigibbeting&quot;, &quot;Discombobulating&quot;) rather than variable names (which change every version due to minification)</p>
</li>
<li><p><strong>Extraction</strong>: For native binaries (Bun-compiled), uses <a href="https://www.npmjs.com/package/node-lief">node-lief</a> to properly extract the embedded JavaScript - the same approach used by <a href="https://github.com/Piebald-AI/tweakcc">tweakcc</a></p>
</li>
<li><p><strong>Patching</strong>: Replaces arrays and settings:</p>
<ul>
<li>Spinner words: <code>[&quot;Accomplishing&quot;,...,&quot;Zigzagging&quot;]</code> -&gt; <code>[&quot;Thinking&quot;]</code></li>
<li>Completion verbs: <code>[&quot;Baked&quot;,...,&quot;Worked&quot;]</code> -&gt; <code>[&quot;Thought&quot;]</code></li>
<li>Spinner icon animation (<code>--no-animation</code>): <code>[&quot;·&quot;,&quot;✢&quot;,&quot;*&quot;,&quot;✶&quot;,&quot;✻&quot;,&quot;✽&quot;]</code> -&gt; <code>[&quot;·&quot;]</code></li>
<li>Spinner tips (<code>--no-tips</code>): sets <code>spinnerTipsEnabled: false</code> in Claude settings</li>
</ul>
</li>
<li><p><strong>Repacking</strong>: 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)</p>
</li>
</ol>
<h3>File locations</h3>
<ul>
<li><strong>Backup</strong>: <code>&lt;original-file&gt;.depester.backup</code></li>
<li><strong>Hook config</strong>: <code>~/.claude/settings.json</code></li>
<li><strong>Debug log</strong>: <code>~/.claude/depester.log</code> (when using <code>--log</code>)</li>
</ul>
<h2>Requirements</h2>
<ul>
<li>Node.js &gt;= 18.0.0</li>
<li>Claude Code installed</li>
</ul>
<h2>Platform Support</h2>
<table>
<thead>
<tr>
<th>Platform</th>
<th>Binary Patching</th>
<th>Webview Patching</th>
<th>Status</th>
</tr>
</thead>
<tbody><tr>
<td>Linux x64</td>
<td>ELF</td>
<td>Yes</td>
<td>Tested (2.1.27)</td>
</tr>
<tr>
<td>Linux ARM64</td>
<td>ELF</td>
<td>Yes</td>
<td>Should work</td>
</tr>
<tr>
<td>macOS Intel</td>
<td>MachO</td>
<td>Yes</td>
<td>Should work</td>
</tr>
<tr>
<td>macOS Apple Silicon</td>
<td>MachO</td>
<td>Yes</td>
<td>Tested (2.1.38)</td>
</tr>
<tr>
<td>Windows x64</td>
<td>PE</td>
<td>Yes</td>
<td>Should work</td>
</tr>
<tr>
<td>Windows ARM64</td>
<td>PE</td>
<td>Yes</td>
<td>Should work</td>
</tr>
</tbody></table>
<p>Binary repacking uses raw file writes (byte-level section replacement) for MachO and PE formats, avoiding LIEF write() which could produce bloated output. ELF uses LIEF write(). The tool uses <a href="https://www.npmjs.com/package/node-lief">node-lief</a> for binary parsing on all platforms.</p>
<h2>Contributing</h2>
<p>If Claude Code updates and the patch stops working:</p>
<ol>
<li>Check if the array still contains marker words like <code>&quot;Flibbertigibbeting&quot;</code></li>
<li>Update <code>lib/patcher.js</code> if the pattern changed</li>
<li>Submit a PR</li>
</ol>
<p>Issues and PRs welcome!</p>
<h2>Related Projects</h2>
<ul>
<li><a href="https://github.com/Piebald-AI/tweakcc">tweakcc</a> - Full Claude Code customization (themes, prompts, and more)</li>
<li><a href="https://github.com/aleks-apostle/claude-code-thinking-patch">claude-code-thinking-patch</a> - Thinking visibility patch</li>
</ul>
<h2>Acknowledgments</h2>
<p>This project builds upon work by:</p>
<ul>
<li><a href="https://github.com/Piebald-AI/tweakcc">tweakcc</a> - For the proper Bun binary extraction/repacking approach</li>
<li><a href="https://gist.github.com/vemv/c6333d53ede16198a23eb95425051b7b">vemv&#39;s gist</a> - Original simple patch idea</li>
<li><a href="https://gist.github.com/heromantf/7db88edcb7b1c0c35067244584a01afc">heromantf&#39;s bun extractor</a> - Bun binary structure documentation</li>
</ul>
<h2>Donors</h2>
<p>Thanks to these generous supporters:</p>
<ul>
<li><a href="https://github.com/gyohng">@gyohng</a></li>
</ul>
<h2>License</h2>
<p>MIT - see <a href="LICENSE">LICENSE</a></p>
<hr>
<h2>Appendix: Full List of Silly Words</h2>
<h3>Spinner Words (184 words)</h3>
<p>These are displayed while Claude is thinking. This tool replaces all of them with &quot;Thinking&quot;:</p>
<blockquote>
<p>Accomplishing, Actioning, Actualizing, Architecting, Baking, Beaming, Beboppin&#39;, Befuddling, Billowing, Blanching, Bloviating, Boogieing, Boondoggling, Booping, Bootstrapping, Brewing, Burrowing, Calculating, Canoodling, Caramelizing, Cascading, Catapulting, Cerebrating, Channeling, Channelling, Choreographing, Churning, Clauding, Coalescing, Cogitating, Combobulating, Composing, Computing, Concocting, Considering, Contemplating, Cooking, Crafting, Creating, Crunching, Crystallizing, Cultivating, Deciphering, Deliberating, Determining, Dilly-dallying, Discombobulating, Doing, Doodling, Drizzling, Ebbing, Effecting, Elucidating, Embellishing, Enchanting, Envisioning, Evaporating, Fermenting, Fiddle-faddling, Finagling, Flambeing, Flibbertigibbeting, Flowing, Flummoxing, Fluttering, Forging, Forming, Frolicking, Frosting, Gallivanting, Galloping, Garnishing, Generating, Germinating, Gitifying, Grooving, Gusting, Harmonizing, Hashing, Hatching, Herding, Honking, Hullaballooing, Hyperspacing, Ideating, Imagining, Improvising, Incubating, Inferring, Infusing, Ionizing, Jitterbugging, Julienning, Kneading, Leavening, Levitating, Lollygagging, Manifesting, Marinating, Meandering, Metamorphosing, Misting, Moonwalking, Moseying, Mulling, Mustering, Musing, Nebulizing, Nesting, Noodling, Nucleating, Orbiting, Orchestrating, Osmosing, Perambulating, Percolating, Perusing, Philosophising, Photosynthesizing, Pollinating, Pondering, Pontificating, Pouncing, Precipitating, Prestidigitating, Processing, Proofing, Propagating, Puttering, Puzzling, Quantumizing, Razzle-dazzling, Razzmatazzing, Recombobulating, Reticulating, Roosting, Ruminating, Sauteing, Scampering, Schlepping, Scurrying, Seasoning, Shenaniganing, Shimmying, Simmering, Skedaddling, Sketching, Slithering, Smooshing, Sock-hopping, Spelunking, Spinning, Sprouting, Stewing, Sublimating, Swirling, Swooping, Symbioting, Synthesizing, Tempering, Thinking, Thundering, Tinkering, Tomfoolering, Topsy-turvying, Transfiguring...</p>
</blockquote>
<h3>Completion Verbs (8 words)</h3>
<p>These are displayed after thinking completes (e.g., &quot;Baked for 42s&quot;). This tool replaces all of them with &quot;Thought&quot;:</p>
<blockquote>
<p>Baked, Brewed, Churned, Cogitated, Cooked, Crunched, Sauteed, Worked</p>
</blockquote>
<p><sub><strong>Keywords:</strong> claude code thinking words, claude code spinner, claude code flibbertigibbeting, claude code discombobulating, claude code clauding, claude code smooshing, claude code wibbling, anthropic claude code patch, remove silly words claude, claude code customization, claude code baked for, claude code completion verbs</sub></p>

SEE ALSO

clihub3/27/2026CLAUDE-DEPESTER(1)