Stop the 'old_string is not unique' Error in Claude Code's Edit Tool — A Practical Rewrite Strategy
When Claude Code's Edit tool throws 'old_string is not unique in the file', the root cause is usually that the prompt didn't guarantee a uniquely identifiable target. Here's how to design rewrites that actually stick.
When Your Claude API Retry Logic Made Rate Limits Worse — The Retry-After Header You Forgot to Read
If 429 errors went up after you added retry logic to your Claude API client, the cause is almost always the same: ignoring the Retry-After header and using exponential backoff without jitter. Here is how to diagnose and fix it.
When Claude won't send your message: a diagnostic order that always finds the cause
When the send button does nothing, the spinner runs forever, or your message vanishes — here's the order I work through to find the real cause within five minutes.
Fix Claude API's 'messages.X.role must alternate' in One Minute — Common 400 invalid_request_error Patterns
A pattern-by-pattern guide to fixing the 'messages.X.role must alternate' error in Claude's Messages API — covering user/assistant alternation, tool_use and tool_result pairing, and history-trimming pitfalls with working code.
Why Claude Code Skips .gitignore Files in Search — and How to Pull Them in When You Need Them
When .env.example or dist/ won't show up in Claude Code's Glob and Grep, .gitignore is the reason. Here's why it happens, plus three concrete ways through it: the Read tool, --no-ignore flags, and selective gitignore overrides.
Claude Code Auto-Update Not Working? A Practical Diagnosis Flow When `claude --version` Won't Move
If you ran `npm install -g @anthropic-ai/claude-code` but `claude --version` still reports last week's number, this guide walks you through the three most common root causes — PATH conflicts, stale binaries, and shell-managed Node — with concrete fixes for each.
Why "The requested model does not exist" Won't Go Away — Claude API Naming and Access Pitfalls
The model_not_found error in the Claude API is almost always a typo or a stale model alias — not a permissions issue. Here are the current model IDs as of April 2026 and a clear order for narrowing down the cause.
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.