Claude Code Troubleshooting Hub: Every Error I’ve Hit (and Fixed)

Last updated: July 28, 2026

This page is my running index of Claude Code problems and their fixes. I use Claude Code daily on Windows, and every time something breaks in an interesting way, I write it up. This hub collects all of those write-ups in one place, organized by symptom rather than by feature, because when something’s broken you don’t know which feature is at fault. You just know what you’re seeing.

I update this page continuously. Bookmark it, and if your problem isn’t here yet, it probably will be soon.

Before anything else, two commands worth knowing: claude doctor checks your Node version, auth, and MCP servers, and /usage inside a session shows where you stand on limits. They won’t fix everything below, but they’ll rule out the boring causes fast.

A model is missing from /model

You updated Claude Code, but the new model still isn’t in the picker. This one burned me when Sonnet 5 launched. The update completes, the picker looks unchanged, and you assume it’s a rollout delay. It usually isn’t. Your terminal session is still running the old binary. Close the terminal completely, open a fresh one, and check again. Full story: Claude Sonnet 5 in Claude Code.

The model exists in the docs but not in your picker. Model availability depends on your plan and how you authenticate (subscription vs. API key). Check your plan’s model list before assuming a bug.

The picker shows the model but selecting it errors out. Try /model again in a brand-new session. If it persists, check status.claude.com before you start reinstalling things.

You’re hitting limits sooner than expected

Your weekly limit ran out days earlier than it used to. Anthropic overhauled how limits work in July 2026 — and then moved the expiry dates three times in two weeks. I keep a continuously updated breakdown of what’s actually in effect in Claude Code usage limits explained.

You got no warning before hitting the wall. Warnings like “Approaching 5-hour limit” exist, but they’re easy to miss mid-task. Run /usage at the start of long sessions so the cutoff doesn’t surprise you.

Your usage drains faster when you use subagents. Every subagent gets its own context and burns its own tokens. If you’ve built multi-agent workflows, that’s often the real reason your limit evaporated. See nested subagents in Claude Code for how the token math stacks up.

Coming soon: a before/after breakdown of the weekly-limit drop with my actual numbers, and a look at how Fable 5 credits factor in.

Claude Code won’t update / version weirdness

The update says it installed the new version, but your session still runs the old one. This is the stale-session trap, and it’s the sneakiest item on this page. I updated from 2.1.179 to 2.1.201, the updater confirmed success, and my open session kept running 2.1.179 anyway. A running session holds the old code in memory until the process dies. The fix isn’t opening a new tab in the same terminal, either. Fully close the terminal application and relaunch, then confirm with claude --version.

claude stops being recognized after an update. Usually a PATH issue with npm’s global bin directory. Reinstall with npm install -g @anthropic-ai/claude-code and restart the terminal.

A new version broke something and you want the old one back. You can pin or downgrade to a specific version. My full pinning and downgrade guide is coming soon; until then, npm install -g @anthropic-ai/claude-code@<version> is the short answer.

You want to stop being surprised by version changes at all. I built an n8n release watcher that monitors Claude Code versions and messages me when anything ships — it once caught Anthropic rolling back a release overnight before I’d noticed anything was wrong.

It keeps logging you out

Every morning starts with /login. Your access token lives about 8 hours; the silent refresh that should renew it sometimes doesn’t. I decoded my own token’s expiry to prove the window, traced which versions fixed which logout bugs (the big one: 2.1.211), and ranked the fixes: Claude Code keeps logging out.

Logging back in fails with “Invalid code.” The code was truncated or expired — copy with the button, paste with right-click, and always retry with a fresh code. Full walkthrough in the same post.

You never notice when it finishes

Long tasks end silently and you find out twenty minutes later. Not technically a bug, but it wastes more time than most real ones. The built-in bell setting didn’t make a sound on my machine, and Anthropic’s mobile push never arrived — what actually worked was a Stop hook firing a Windows toast and a phone push. Full test of all four methods: Claude Code notification when done.

Your hook is configured but nothing fires. The two usual suspects: on Windows, hooks run through Git Bash unless you set "shell": "powershell", and invalid JSON in settings.json makes the whole hooks section silently disappear. Check /hooks — if it says 0 configured, Claude Code isn’t reading what you saved. The same post walks through both traps.

Agents and subagents misbehaving

Your custom agent file exists but Claude Code acts like it doesn’t. On Windows, if you created the file with PowerShell 5.1’s default output, it starts with a byte order mark (BOM) that silently breaks the frontmatter parsing. Recreate the file with -Encoding ascii (or UTF-8 without BOM). I lost an evening to this: nested subagents in Claude Code.

Your agent’s tool allowlist seems to be ignored. I hit this too, and the cause wasn’t what I expected. The same post walks through what the Agent allowlist actually controls and where the permission decisions really happen.

Claude mentions “artifacts” and you can’t find the files. Artifacts live in a specific place and behave differently from normal file writes. I mapped it all out in Claude Code artifacts explained.

Windows-specific traps

Files you generate from PowerShell mysteriously fail to parse. Same BOM issue as above, and it’s not limited to agent files. PowerShell 5.1 defaults to UTF-16 or BOM-prefixed encodings depending on the cmdlet. When any config file misbehaves on Windows, check its encoding first.

claude works in one terminal but not another. PowerShell, CMD, and Git Bash each resolve PATH differently. Fix the PATH once at the system level instead of per-shell.

You’re running Docker tooling alongside Claude Code. Not a Claude Code bug, but the setups interact. If you’re pairing Claude Code with local automation, my n8n on Windows with Docker guide covers the Windows-side gotchas.

What this page is (and isn’t)

Honest scope note: this hub covers problems I’ve personally hit, reproduced, and documented. It’s not an exhaustive error encyclopedia, and I won’t pad it with issues I’ve never seen. It grows every time Claude Code finds a new way to surprise me, which, so far, has been often.

If you’ve hit something that isn’t covered here, the official error reference and the GitHub issues page are the next stops.

WorkflowDen is an independent site, not affiliated with or endorsed by Anthropic, PBC.