A community-driven collection of spinner verbs for Claude.
Ever wondered what Claude is up to while it thinks? It's Trailblazing, Sandboxing, or Soql-querying, of course. This repo is where those verbs live, and anyone can suggest new ones, rename old ones, or retire the ones that don't spark joy.
Every verb is a little joke about the Salesforce world, so if you've ever watched a deploy crawl or a flow debug itself at 2 a.m., you're in the right place.
Claude Code reads spinner verbs from the spinnerVerbs setting. It works in any settings file, and this repo's forceSpinning.json has the block ready to go. The setting is documented in the settings reference.
- Open
forceSpinning.jsonand copy the wholespinnerVerbsobject. - Open
~/.claude/settings.jsonand paste it in as a top-level key. If the file already has other settings, add a comma after the last existing key. - Save the file. The next spinner picks up the new verbs without a restart.
This needs jq installed. It backs up your settings, then merges the verbs in and leaves your other settings alone:
mkdir -p ~/.claude
[ -f ~/.claude/settings.json ] || echo '{}' > ~/.claude/settings.json
cp ~/.claude/settings.json ~/.claude/settings.backup.json
curl -fsSL https://raw.githubusercontent.com/x2od/force-spinnerverbs/main/forceSpinning.json \
| jq -s '.[0] * .[1]' ~/.claude/settings.json - > ~/.claude/settings.new.json \
&& mv ~/.claude/settings.new.json ~/.claude/settings.json \
|| { rm -f ~/.claude/settings.new.json; echo "Install failed. Your settings are unchanged." >&2; }If anything fails, your settings file is left as it was. A copy of the previous version is also saved as ~/.claude/settings.backup.json.
Open PowerShell and paste this block. It needs no extra tools. It backs up your settings first, then adds the verbs and keeps your other settings:
$settingsPath = Join-Path $HOME ".claude\settings.json"
$newPath = "$settingsPath.new"
New-Item -ItemType Directory -Force -Path (Split-Path $settingsPath) | Out-Null
if (-not (Test-Path $settingsPath)) { '{}' | Set-Content -Path $settingsPath }
Copy-Item $settingsPath "$settingsPath.backup" -Force
try {
$url = "https://raw.githubusercontent.com/x2od/force-spinnerverbs/main/forceSpinning.json"
$verbs = (Invoke-WebRequest -UseBasicParsing -Uri $url).Content | ConvertFrom-Json
$settings = Get-Content $settingsPath -Raw | ConvertFrom-Json
Add-Member -InputObject $settings -NotePropertyName spinnerVerbs -NotePropertyValue $verbs.spinnerVerbs -Force
[System.IO.File]::WriteAllText($newPath, ($settings | ConvertTo-Json -Depth 100))
Move-Item $newPath $settingsPath -Force
Write-Output "Install done."
} catch {
Remove-Item $newPath -ErrorAction SilentlyContinue
Write-Error "Install failed. Your settings are unchanged."
}If anything fails, your settings file is left as it was. A copy of the previous version is also saved as settings.json.backup in the same folder.
Want to see exactly what this script installs before running it? View the forceSpinning.json file on GitHub. The file is read-only and contains only spinner verb names—nothing malicious or unexpected.
The file uses "mode": "append", so these verbs are added alongside Claude's built-in verbs. If you want only our verbs, change the mode to "replace":
"spinnerVerbs": {
"mode": "append",
"verbs": [ "..." ]
}Want to add your favorite? Read CONTRIBUTING.md for the rules, which boil down to:
- Capitalized first letter, letters/digits/hyphens only, e.g.
Data-loader-exporting - Ends in
ing - No duplicates
- Keep the list alphabetized
Open a pull request. A bot checks your verbs and comments on your PR with the results, so you'll know right away if something needs fixing.
Got a feature idea or a verb you can't stand? Open an issue using one of the templates.
Everyone who has had a verb merged. See CONTRIBUTORS.md.
Free to use without limit. Credit is required for commercial use and for closed-source use. See LICENSE.