CLAUDE LABJP
FORK — Claude Code 2.1.212 changes what /fork does: it copies your conversation into a new background session with its own row in claude agents, so you can keep working. The old in-session subagent is now /subtaskLIMITS — WebSearch calls are now capped at 200 per session by default, and subagent spawns get the same 200 ceiling, so a runaway search or delegation loop stops on its ownMCPBG — MCP tool calls running past two minutes now move to the background automatically, keeping the session usable. Tune the threshold with CLAUDE_CODE_MCP_AUTO_BACKGROUND_MSPLANFIX — Fixed plan mode auto-running file-modifying Bash commands such as touch and rm without a permission prompt or an SDK canUseTool callbackSONNET5 — Claude Sonnet 5 is running on introductory pricing of $2 per million input tokens and $10 per million output. After August 31 it moves to $3 and $15IPO — Bankers are reportedly lining up investor meetings for Anthropic ahead of a possible public listing as soon as OctoberFORK — Claude Code 2.1.212 changes what /fork does: it copies your conversation into a new background session with its own row in claude agents, so you can keep working. The old in-session subagent is now /subtaskLIMITS — WebSearch calls are now capped at 200 per session by default, and subagent spawns get the same 200 ceiling, so a runaway search or delegation loop stops on its ownMCPBG — MCP tool calls running past two minutes now move to the background automatically, keeping the session usable. Tune the threshold with CLAUDE_CODE_MCP_AUTO_BACKGROUND_MSPLANFIX — Fixed plan mode auto-running file-modifying Bash commands such as touch and rm without a permission prompt or an SDK canUseTool callbackSONNET5 — Claude Sonnet 5 is running on introductory pricing of $2 per million input tokens and $10 per million output. After August 31 it moves to $3 and $15IPO — Bankers are reportedly lining up investor meetings for Anthropic ahead of a possible public listing as soon as October
Articles/Claude Code
Claude Code/2026-04-24Beginner

Claude Keeps Saying 'Response Incomplete' — A Layered Troubleshooting Guide

Diagnose why Claude or Claude Code freezes with a 'Response incomplete' or 'Try stopping' message. Walk through the four layers where generation can stall and recover the session without losing context.

claude8claude-code129troubleshooting87error17response-incompletetry-stopping

You're halfway through reading a long answer when the conversation suddenly freezes. "Response incomplete." "Claude is not responding. Try stopping." The rest of the reply never arrives, and if you don't know what to do next, you end up starting the session over again every time.

The confusing part is that this isn't a single bug. "Incomplete response" is a symptom that can originate in at least four different layers: the network, the generation process itself, the tool-call pipeline, or the browser state. Refreshing the page or logging out and back in without first narrowing down which layer is stuck rarely fixes the underlying cause. This guide walks through how to identify the layer and recover — in order, so you can stop guessing.

Three things to check before doing anything else

When the "Response incomplete" message appears, scan these three signals first. The right recovery path depends entirely on them.

Is the generation cursor still pulsing? If yes, Claude is still trying to produce tokens. This is almost always a network or streaming issue, and you can usually recover the rest of the answer.

Did a tool call (Bash, Edit, Read) fire just before the freeze? This is the classic Claude Code stall — the tool hangs and the chat shows "incomplete" while the tool process is still blocking.

Did the text end mid-sentence, mid-code-block, or mid-list? That's a hard token limit, not a connection issue. Recovery requires a follow-up prompt, not a retry.

With these three answers in hand, the right fix usually becomes obvious.

Case 1: The cursor is still moving — it's a network problem

If the loading indicator is still showing but no new tokens are arriving, the problem is almost always between your browser and Anthropic's servers, not in the model itself.

In my own experience, this is most common on corporate VPNs and proxies. Claude streams replies as Server-Sent Events, and some middleboxes quietly kill SSE connections that idle even for a few seconds — exactly what happens during Extended Thinking.

The fix, in order:

First, click Stop at the top of the screen, but do not refresh the page. Refreshing discards the in-flight response and hides the "Continue" button.

Second, on Web, click "Continue" (or "Try again"). In Claude Code CLI, run claude --continue to resume the previous session. In most cases the missing portion regenerates cleanly.

Third, if the freeze repeats, drop the VPN or proxy and try again. It's worth asking your admin whether long-lived connections to api.anthropic.com are allowed — some firewalls rewrite or terminate them.

Case 2: It froze during a tool call — a Claude Code–specific case

When Claude Code shows "Try stopping the current command", a tool invocation has stalled. Common culprits:

  • A Bash command is waiting for stdin (interactive commands being run in non-interactive mode)
  • A Read against a very large file (multi-MB) saturates the context window
  • A subagent has entered a deep loop

The first move is Ctrl+C to interrupt the current tool call. If that doesn't release it, press Esc twice — Claude Code will attempt a hard tool abort. That clears most of these cases.

If you know Bash is the stuck tool, open another terminal, find the Claude Code child process with ps aux | grep claude, and kill only the tool child — not the parent. Killing the parent tears down the whole session.

If you ran an interactive command (vim, top, less) and that caused the hang, add a guardrail to your CLAUDE.md for this project: "Never use interactive commands. Always prefer non-interactive flags such as --batch or --no-pager." This alone prevents most repeat incidents.

Case 3: It ended mid-sentence — the output cap

If the response cuts off inside a code block, mid-list, or mid-word, you've almost certainly hit the output token limit. Claude's maximum response length varies by product and model, but Claude Code in particular has a hard ceiling per turn.

The tell: the text ends somewhere that clearly isn't a finishing sentence — an unclosed code fence, a truncated list item, a half-written function.

The fix is boring: ask Claude to continue. "Please continue from where you stopped, without omitting anything" works reliably. A subtle but important detail: say "without omitting anything" explicitly, otherwise Claude sometimes restarts with a summary instead of resuming verbatim.

If you hit this repeatedly, the deeper issue is that you're asking for too much per turn. Break the task into smaller pieces. "Rewrite these five files" is more fragile than "Let's rewrite the first file; I'll confirm, then we'll move on." It feels slower, but the success rate goes up dramatically.

Case 4: Extended Thinking froze partway

With Extended Thinking enabled, the model can exhaust its thinking budget before it ever gets to the visible reply — and that shows up as an incomplete response even though no real answer was ever produced.

Try the same question without Extended Thinking first. If it answers, shrink the thinking budget (or the task) before turning it back on. In Claude Code, /think accepts intensity levels (think, think hard, ultrathink); drop one level and retry.

When nothing recovers — the safe way to start over

Sometimes a session is simply unrecoverable. Two habits make that restart much smoother.

Start the new session from scratch, not with claude --resume. The resumed context often carries whatever state caused the original stall.

Keep a short CLAUDE.md in your working directory that summarizes the current task, constraints, and files you've already changed. Even three lines is enough for Claude to pick up where you left off, without re-learning everything from the last conversation.

And write down what actually fixed it. "Response incomplete" recurs, and a one-line note ("VPN off → Continue worked") turns next week's five-minute problem into a ten-second one.

The checklist to run every time

When you see "Response incomplete", walk through these four questions in order:

  • Is the loading indicator still moving? (yes = network / no = generation finished)
  • Was a tool call running? (yes = Ctrl+C, then Esc twice)
  • Did the text end mid-sentence? (yes = ask for a verbatim continuation)
  • Was Extended Thinking on? (yes = retry without it first)

That's it. Most "incomplete" states are recoverable without killing the session. Try the checklist before you start a new chat.

Share

Thank You for Reading

Claude Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $10 for lifetime access
View Membership →

If you found this article helpful, a small tip ($1.50) would mean a lot to us. Your support helps keep this site ad-free and covers server and hosting costs.

Related Articles

Claude Code2026-06-10
When git add -A Sweeps Up .bak Backups — The Quiet Trap of In-Place Fix Scripts
How .bak backups left by sed -i and homegrown --fix scripts get silently swept into production by git add -A, why it is so easy to miss, and how scoped adds and .gitignore close the gap for good.
Claude Code2026-06-09
When Yesterday's Article Bleeds Into Today's — The Stale Fixed-Name Temp File Trap
In a Claude Code automation pipeline, a fixed-name temp file kept stale content from the previous run and leaked old body text into a completely different article. Here is why the write fails silently, and how unique names plus a post-write grep check prevent it.
Claude Code2026-06-03
When git push Says Success but Nothing Lands — the Silent commit Failure in Claude Code
git push prints Everything up-to-date and exits zero, yet your changes never reach the remote. Here is why commit silently fails on a fresh sandbox clone, and how to verify a real push with SHA comparison.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →