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.ai
Claude.ai/2026-04-23Beginner

When Claude Says 'Failed to Send Message' — A Practical Triage and Recovery Guide

Why Claude shows 'Failed to send message' — broken down into five real causes, with a quick triage order and practical fixes for each.

claude-ai15troubleshooting87error-fix4send-messagenetwork-error2

You type out a careful prompt, hit Send, and a red banner appears: "Failed to send message." When this happens once, it is annoying. When it happens three times in a row, your concentration is gone — and the worst part is that you have no idea where the problem actually is.

This single error message hides several different causes: a flaky network, an attachment that pushed you over a size limit, a thread that has grown too long, an Anthropic-side incident, or an account-level issue. Resending blindly almost never helps. A short, ordered triage almost always does. Here is the order I use, and the reasoning behind it.

A 30-second sanity check first

Before you change anything, do this:

  • Switch to another tab and load any website. If it loads quickly, your network is fine.
  • Glance at the bottom-right of the input area for the character count and any attached file icons.
  • Confirm the URL bar shows claude.ai and not a stale or proxied address.

That single pass tells you whether you are looking at a network problem, an attachment problem, or a session problem. If anything feels off, do not just keep mashing the Send button — stop, then walk down the list below.

Cause 1 — Connection wobble

This is the most common one. A Wi-Fi handoff, a VPN reconnecting, mobile tethering blinking out — any of those will silently kill the in-flight request.

Open another tab and load Google or your favorite news site. If it feels slow or some pages refuse to load, the problem is your network, not Claude. Toggle Wi-Fi off and on, then reload the Claude page. On corporate networks or coffee-shop Wi-Fi, certain domains can also be throttled or filtered, which produces exactly this symptom.

If you are on a VPN, try sending the same message with the VPN off. VPNs sometimes change your apparent location enough that Anthropic triggers an extra verification step, and that step can manifest as a generic send failure.

Cause 2 — Attachment size or format

When you attach PDFs or images, your message body and the attachments are sized together. The individual file may be fine, but the combined payload can still exceed the limit. The tell-tale sign is that the message goes through if you remove the attachment.

Strip every attachment, send the bare text, and see if the error disappears. If it does, attachments are the cause. Re-attach them one at a time to find the offender. For a large PDF, extract just the pages you need, or paste the relevant text directly into the message body. Both reliably go through.

If file uploads themselves are failing — not just sends with files attached — the more focused Claude 'Failed to Upload File' — A Practical Triage and Recovery Guide covers that distinct case.

Cause 3 — The thread has grown too long

After a few hours in the same conversation, the cumulative context creeps toward the limit and the next message stops landing. The signature here is "I'm sending a tiny question and it still fails" or "it was working a minute ago."

The fastest way to confirm this is to open a brand-new chat and send a one-word test like "hello." If the new chat sends fine, the old thread is effectively full.

The fix is to carry the context forward. Ask Claude in the old thread to summarize the key decisions and open questions in bullet points, paste that summary into a new chat as your first message, and continue from there. For the deeper architectural take on this problem, see How to Fix Claude API "Context Window Exceeded" Errors.

(Example handoff prompt to paste into the new chat)
 
Below is a summary of the discussion from a previous thread.
Use it as the starting context and continue helping me.
 
# Project background
- Building XYZ
- Constraints: ABC
 
# Decisions so far
- ...
- ...
 
# Next problem to solve
- ...

Anyone who uses Claude long enough hits this wall. Making "new chat plus a short handoff summary" a habit is one of the highest-leverage changes you can make to your workflow.

Cause 4 — Anthropic-side incident

Occasionally, no amount of triage on your side will fix it because the problem is upstream. When that happens, the cause is almost always a temporary load spike or partial outage at Anthropic.

Open status.anthropic.com and check the claude.ai row. Anything other than "Operational" is your answer — the right move is to wait. A quick X (Twitter) search for "claude error" will usually surface a cluster of people reporting the same thing within the same window, which is your confirmation.

In this case, repeated retries can actually make recovery slower by piling on already-stressed servers. Coming back in 15 to 30 minutes tends to resolve faster than hammering Send.

Cause 5 — Account, billing, or usage limits

A failed card on file or a Pro/Max usage cap can block specific actions, especially long messages or messages with attachments. The error you see is often the same generic "Failed to send message" rather than something specific.

Open the account menu in the lower left, go to Settings → Billing, and look for any red status banner. A "There's a problem with your payment method" banner means billing is the cause; the complete guide to Claude payment errors walks through the common decline patterns.

If your usage cap is the cause, you will usually also see something like "Claude is currently limited" near the top of the page. The full breakdown lives in What "You've Reached Your Usage Limit" Really Means in Claude.

Bonus — what to check on the browser side

If none of the five above explain it, the next place to look is the browser itself. These causes have very specific fingerprints, so they are quick to rule in or out.

  • Corrupted cookies or local storage: the classic signature is "I am logged in fine, but only sending fails." Open claude.ai in an incognito or private window and try again. If it sends in incognito, clear cookies and site data for claude.ai in your normal window and log back in.
  • Extension interference: ad blockers, translation extensions, and security extensions sometimes rewrite the headers or responses of the send request just enough to break it. Incognito disables extensions by default, so the above test rules this out at the same time.
  • Stale tabs: a tab left open for several days can carry an expired auth token and start failing silently. Closing and reopening the tab — or a hard reload with Ctrl/Cmd + Shift + R — fixes it more often than you would expect.
  • Strict third-party cookie settings: aggressive browser privacy settings can block the cookies Anthropic uses to maintain a session. Adding claude.ai to your cookie exceptions usually stabilizes things.

The "switching browsers makes it work" experience that you sometimes hear about is almost always one of these. Hopping from Chrome to Safari or Edge to Firefox for a single test will tell you whether the browser environment is the variable.

The triage order, in priority

Memorize this order and you will not have to think hard the next time it happens:

  • 1️⃣ Does another website load? (network alive?)
  • 2️⃣ Does it send without attachments? (attachment size/format)
  • 3️⃣ Does a brand-new chat send? (context full)
  • 4️⃣ Does status.anthropic.com show issues? (upstream incident)
  • 5️⃣ Any billing/usage warnings in Settings or the top banner? (account-level)

Two or three minutes through that list will land you on the cause about 90% of the time.

Small habits that prevent the next one

  • Roll long conversations into a fresh chat at natural break points instead of pushing them indefinitely.
  • Pre-split large PDFs, or paste only the relevant text rather than the whole document.
  • If errors are concentrated on your work network or VPN, test the same flow on a different connection to isolate the variable.
  • Keep a screenshot of any reproducible error — it makes a support ticket move much faster.

After a few weeks of this, the red banner stops feeling like an interruption. You glance at it, mentally run through the five-step list, and you are usually back inside a few minutes.

One thing to try right now

If you are staring at this exact error as you read this, do this first: open a brand-new chat and send the word "hello." That single test takes 30 seconds and immediately tells you whether your problem is the network or the conversation length. From there, the order above will get you back to work in under five minutes for almost every common case.

Errors are never welcome, but with a clear triage map they stop being scary. I hope this list works as your checklist whenever the next one shows up.

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.ai2026-05-05
Claude Keeps Making the Same Mistake — Why Corrections Don't Stick and How to Fix It
Why Claude repeats mistakes even after correction, and how to make your instructions stick permanently using Projects, custom prompts, and smarter conversation design.
Claude.ai2026-05-04
How to Fix the "Tool Result Could Not Be Submitted" Error in Claude
A practical guide to diagnosing and fixing the "tool result could not be submitted" error in Claude's tool use API, based on real development experience.
Claude.ai2026-05-01
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.
📚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 →