Dhikr in your terminal: tasbih & the 99 Names of Allah, every time Claude Code thinks
Replace Claude Code's random spinner verbs ("Cogitating…", "Noodling…") with dhikr — the tasbih phrases and the 99 Names of Allah (Asma-ul-Husna).
Every time Claude Code is thinking, you see something like:
![]() |
![]() |
![]() |
Claude Code shows a random verb while it thinks — "Cogitating…", "Noodling…", "Percolating…". It is idle text you end up reading dozens of times a day.
This swaps that idle text for dhikr: the five core tasbih phrases followed by the 99 Names of Allah, each with its English meaning. The waiting time you cannot avoid becomes a moment of remembrance instead of filler. Nothing else changes — it is a single cosmetic setting, with no effect on how Claude Code behaves.
| File | Purpose |
|---|---|
spinner-verbs.json |
The spinnerVerbs block to merge into your Claude Code settings |
README.md |
This file — install steps and the install prompt |
docs/ |
Screenshots used above |
Paste this into Claude Code from anywhere — it fetches the verbs straight from GitHub, no need to clone this repo.
Install the Islamic dhikr spinner verbs for Claude Code.
- Repo: https://github.com/hijam-git/claude-tasbih
- Verbs file (browse): https://github.com/hijam-git/claude-tasbih/blob/main/spinner-verbs.json
- Verbs file (raw, fetch this one): https://raw.githubusercontent.com/hijam-git/claude-tasbih/refs/heads/main/spinner-verbs.json
Fetch the raw URL and merge its top-level
spinnerVerbskey into my Claude Code user settings at~/.claude/settings.json(on Windows:C:\Users\<me>\.claude\settings.json).Requirements:
- Preserve every existing key in my settings file — do not drop or reorder my current settings.
- If a
spinnerVerbskey already exists, replace it wholesale with the fetched one.- Write the file as UTF-8 without a BOM — the verbs contain em dashes (
—) and apostrophes that get corrupted intoâ€"if a tool reads or writes UTF-8 as ANSI. Do not use Windows PowerShell 5.1Get-Content/Out-Filefor this; use the Read and Write tools, or[IO.File]::ReadAllText/WriteAllText.- Keep the result valid JSON (correct commas) and verify by parsing it after writing.
- Confirm the verb count and tell me to restart Claude Code so it takes effect.
If the fetch is blocked or returns HTML instead of JSON, download the raw file yourself and point Claude at the local path, or use Option B.
Clone this repo, open Claude Code inside it, and paste:
Read
spinner-verbs.jsonin this repo and merge its top-levelspinnerVerbskey into my Claude Code user settings at~/.claude/settings.json(on Windows:C:\Users\<me>\.claude\settings.json).Requirements:
- Preserve every existing key in my settings file — do not drop or reorder my current settings.
- If a
spinnerVerbskey already exists, replace it wholesale with the one fromspinner-verbs.json.- Read and write the files as UTF-8 without a BOM — the verbs contain em dashes (
—) and apostrophes that get corrupted intoâ€"if a tool reads UTF-8 as ANSI. Do not use Windows PowerShell 5.1Get-Content/Out-Filefor this; use the Read and Write tools, or[IO.File]::ReadAllText/WriteAllText.- Keep the result valid JSON (correct commas) and verify by parsing it after writing.
- Show me a short diff of what changed, then tell me to restart Claude Code so the new spinner verbs take effect.
Variants you can append to that prompt:
- Append instead of replace (keep Claude's built-in verbs too): "…and set
spinnerVerbs.modeto"append"." - Project-only install: "…merge into
.claude/settings.jsonin the current project instead of my user settings." - Uninstall: "Remove the
spinnerVerbskey from my Claude Code settings, keep every other key intact, verify the file still parses, and remind me to restart."
Yes, editing settings.json by hand is perfectly fine — it is the same result, and
there is no separate install step or CLI for spinner verbs. The prompt options are only
better because Claude does the JSON merge and comma bookkeeping for you.
- Open the raw verbs file and copy it.
- Open your user settings file:
- Windows:
C:\Users\<you>\.claude\settings.json - macOS / Linux:
~/.claude/settings.json
- Windows:
- Paste the
"spinnerVerbs": { ... }object in as a top-level key, alongside your existing keys. - Mind the commas — the file must stay valid JSON. Example result:
{
"model": "opus[1m]",
"tui": "fullscreen",
"spinnerVerbs": {
"mode": "replace",
"verbs": ["SubhanAllah — Glory be to Allah", "..."]
}
}- Save as UTF-8 without BOM (see the Encoding section below).
- Restart Claude Code (
/exit, then relaunch). The spinner picks a random verb per turn.
mode"replace"— use only these verbs (default here)"append"— add these on top of Claude Code's built-in verbs
verbs— array of strings. 104 entries here: 5 core dhikr phrases followed by the 99 Names with English meanings.
Settings precedence, if you want it scoped differently:
| File | Scope |
|---|---|
~/.claude/settings.json |
You, everywhere (recommended) |
<project>/.claude/settings.json |
One project, shared via git |
<project>/.claude/settings.local.json |
One project, just you (gitignored) |
If your verbs show up as SubhanAllah â€" Glory be to Allah, the file was written by a
tool that read UTF-8 bytes as Windows-1252. The em dash — is three bytes (E2 80 94)
in UTF-8; misread as ANSI they become the three characters â€".
Rules that avoid it:
- Save
settings.jsonas UTF-8, no BOM. In VS Code the status bar should readUTF-8(notUTF-8 with BOM, notWindows 1252). - On Windows PowerShell 5.1,
Get-Contentdefaults to ANSI andOut-File -Encoding utf8writes a BOM — both break this file. Use[IO.File]::ReadAllText(path)and[IO.File]::WriteAllText(path, text, (New-Object Text.UTF8Encoding $false)), or use PowerShell 7+, or just edit in an editor. - Once corrupted, the text is genuinely changed on disk — re-save won't fix it. Re-copy
the verbs from
spinner-verbs.json. - If you'd rather sidestep all of this, replace every
—with a plain ASCII hyphen-. It looks slightly plainer in the terminal but is immune to encoding mishaps.
Edit the verbs array freely — add salawat, du'a, or ayah fragments. Keep each line
short (roughly under 45 characters) so it doesn't wrap in a narrow terminal.
To go back to the defaults, delete the spinnerVerbs key and restart.
- Transliterations use a simple Latin scheme without diacritics for terminal safety.
- Purely cosmetic — no effect on Claude Code's behaviour, permissions, or billing.
If the dhikr spinner brought a bit of barakah to your terminal:
- ⭐ Star the repo — it helps other Muslim developers find it.
- 👤 Follow @hijam-git for more Claude Code tweaks.
- 🐛 Open an issue or PR with corrections to any transliteration or meaning — accuracy matters more than speed here.
Jazakum Allahu khayran.


