Diagnosing Claude API Prompt Cache Misses — How to Read the usage Field
If your Claude API prompt cache isn't reducing your bill, the usage field is where to start. This guide walks through the five most common reasons cache_read_input_tokens stays at zero and how to fix each one.
When Claude's Web Search Isn't Working: 7 Things Worth Checking
Walk through the seven most common reasons Claude's Web Search fails to return fresh results — from model selection and toggle state to robots.txt blocks and corporate proxies.
Why Rakuten Card Gets Declined on Claude — Practical Fixes for Japanese Cardholders
Rakuten Card holders often see 'card declined' errors when buying Claude Pro or API credits. This guide walks through the structural reasons specific to Rakuten Card and the practical steps that actually get the payment through.
When `claude --resume` Won't Restore Your Previous Session — A Practical Troubleshooting Guide
When Claude Code's --resume or --continue stops bringing back your last conversation, the cause almost always falls into one of four buckets. Here's how to walk through them in five to ten minutes.
Untangling Claude Code's 'Authorization Failed' Error — OAuth, MCP, and Dynamic Client Registration
Why Claude Code suddenly throws 'authorization failed' or 'incompatible auth server: does not support dynamic client registration', and what to actually do about it. A practical walkthrough of OAuth, MCP server requirements, and the real fixes that work in production.
Decoding Claude's 'Spanner Temporarily Unavailable' Error and How to Handle It
The 'Spanner temporarily unavailable' error occasionally appears in Claude API and Claude.ai responses. This guide unpacks what the message reveals about Anthropic's infrastructure and walks through practical retry strategies that production teams actually use.
Claude API Streaming Stops Mid-Response: Diagnosing and Fixing the 5 Root Causes
When Claude API streaming stops unexpectedly, there are exactly 5 root causes. Learn to diagnose which one you're hitting and apply the right fix — from timeout tuning to stop_reason logging.
When Claude Code Hooks Loop Forever — Stopping Self-Triggering PostToolUse Hooks
You wired up Claude Code hooks and now your terminal is a waterfall of tool calls that won't stop. Here's why PostToolUse hooks loop on themselves, and the patterns I use in real projects to make sure they never do again.
When Extended Thinking 'Does Not Work': 7 Causes That Hide Behind the Same Symptom
When you turn on Extended Thinking but the response feels identical to before, the cause is usually one of seven distinct problems. This guide walks through how to diagnose each from the API, the chat UI, the SDK, and the model layer.
When Claude Code Hits `index.lock` in VMs and CI: Three Workarounds That Actually Stick
When Claude Code freezes on `fatal: Unable to create '.git/index.lock'` inside a VM, container, or CI sandbox, here are three battle-tested workarounds — pick the one that matches the layer of failure you're actually hitting.
When Claude Projects Won't Read Your Files — Catch the Cause Before You Upload
Your PDF is in the project, but Claude keeps saying it has no information. No error, just silence. Here's how to place the cause in one of three layers — index, file, or instructions — and a script that diagnoses the file layer before you upload.
Why Your Custom MCP Server's Logs Disappear — Writing to stderr in Claude Code
If you're building your own MCP server and your console.log lines never appear — while Claude Code silently reports the tool as unresponsive — you're probably polluting stdio. Here's how to spot it and rewrite your logs to keep the protocol intact.