Claude Code Not Responding: Safe Troubleshooting Steps
TL;DR First decide whether Claude Code is truly hung or waiting on a slow response, auth handoff, permission prompt, network timeout, or shell subprocess. Restart in a clean terminal, verify…
- First decide whether Claude Code is truly hung or waiting on a slow response, auth handoff, permission prompt, network timeout, or shell subprocess.
- Restart in a clean terminal, verify account access, check Anthropic status, then test Claude Code from a small empty directory.
- Do not delete project, npm, shell, or Claude configuration folders until you have isolated the failing layer.
Overview
A quiet Claude Code terminal does not always mean the CLI has crashed. Sometimes the command is waiting for browser authentication. Sometimes a proxy is holding the request until timeout. In a large repository, the first interaction may feel frozen while local context, permissions, or command output get in the way.
Treat the symptom as an isolation problem. Start with the terminal you can see, then check account access, network behavior, and the current working directory. Keep the first pass low risk so you do not erase useful diagnostic state or damage a working project.
Anthropic describes Claude Code as an agentic coding assistant that runs from the terminal, which means shell state, filesystem permissions, and account access all matter during troubleshooting: Anthropic’s Claude Code overview.
- Press Ctrl + C once, wait a few seconds, then restart Claude Code from a fresh terminal.
- Look for an authentication, confirmation, or permission prompt before assuming the process failed.
- Run Claude Code from a small empty directory to separate project-specific hangs from account or network failures.
- Check Anthropic’s official status page before making local configuration changes.
- Temporarily disable VPN, proxy, or aggressive terminal extensions if requests never return and policy allows it.
Symptoms
“Claude Code not responding” usually shows up in one of four ways: the command starts but prints no useful output, the prompt appears frozen after an instruction, a spinner never completes, or control returns only after a long delay. Those states point to different causes.
A silent launch often suggests a shell, PATH, auth, or network issue. A freeze inside a large repository may involve context scanning, ignored-file gaps, unreadable directories, or a command waiting for input. A repeated failure after login may involve account access or service availability, but this article does not claim any current outage, rollout, price, version, or plan-specific condition.
Useful real-world examples are simple and observable. If command -v claude prints nothing, the active shell cannot find the CLI. If a permission scan prints a path such as ./private-cache, Claude Code may be running from a project tree the current user cannot fully read.
Why This Happens
Claude Code sits between your shell, local files, Anthropic’s service, and your account session. A problem in any one layer can look like a hang. The safest diagnostic path is to test the CLI itself, then the account, then the network, then the project.
Common causes include a stale terminal process, blocked interactive prompt, missing PATH entry, restricted project permission, corporate proxy inspection, VPN routing, noisy shell startup script, or repository with generated files and large dependency trees. Do not start with recursive delete commands or a reinstall. Those actions can hide the original failure and remove state that would help support identify the cause.
Check Status, Account, and Basic Access
Confirm the service and account path
Check official availability, then verify that the same account can access Claude from the expected login flow before changing local files.
Start outside your machine. Check Anthropic’s official status page for service availability instead of relying on social posts or third-party outage trackers: Anthropic status page. A green status page does not prove your local setup is healthy, but it prevents wasted debugging during a broader incident.
Next, confirm the account path. If Claude Code opens an auth flow, complete it in the browser profile you intend to use. If your organization manages access, verify that the correct workspace or account is selected. Do not infer plan, region, or rollout behavior unless your admin console or an official support response says so.
Try a Clean Terminal Session
Remove shell noise from the test
Restart the terminal, avoid multiplexers for the first retry, and run Claude Code from a simple directory.
A terminal hang is often not a model problem. Shell startup scripts, aliases, terminal integrations, and multiplexers can interfere with interactive CLIs. Open a new system terminal outside tmux, screen, or an IDE panel. Then run basic discovery commands before launching Claude Code:
command -v claude
claude --help
node --version
npm --version
These commands should not modify project files. If command -v claude returns no output, the CLI is not on PATH for that shell. If claude --help responds but normal prompts hang, the executable can start and the problem is more likely auth, network, project context, or an interactive confirmation flow.
When the issue appears only inside an IDE terminal, retry in the system terminal. IDE-integrated terminals can inherit different environment variables, PATH ordering, proxy settings, or shell startup behavior than a normal login shell.
Test Outside the Current Repository
Separate project context from CLI health
Run Claude Code in an empty directory before troubleshooting a large monorepo or generated workspace.
Project state matters because Claude Code operates in your working directory. A repository with generated files, vendor folders, large logs, nested dependencies, or restricted permissions can make the first interaction look unresponsive.
Create a clean temporary directory and test a small prompt there:
mkdir -p /tmp/claude-code-smoke-test
cd /tmp/claude-code-smoke-test
claude
If Claude Code responds in /tmp/claude-code-smoke-test, the CLI and account path are probably functional. Move back to the failing repository and inspect obvious sources of noise: generated build output, checked-in dependency folders, huge lockfile churn, unreadable directories, or a terminal launched from the wrong project root.
Use ignore files and smaller prompts to narrow the working set. Avoid launching Claude Code from a home directory, filesystem root, or monorepo root unless that broad scope is intentional.
If Claude Code works in an empty directory but not in your project, stop reinstalling the CLI and fix the repository context.
Check Network, Proxy, and VPN Behavior
Look for blocked outbound requests
Corporate proxies, VPNs, DNS filters, and TLS inspection can make a terminal AI tool appear frozen.
A CLI that prints normally but never completes model requests may be blocked between your terminal and Anthropic’s service. Test once with VPN disabled if policy allows. If possible, compare behavior on a known-good network.
In managed environments, check whether outbound HTTPS traffic to Anthropic services is allowed and whether proxy variables are required. Compare proxy settings between a working browser session and the terminal:
env | grep -i proxy
If proxy variables point to the wrong host, requests may wait until network timeouts complete. If no proxy variables are set on a network that requires them, requests may never reach the service. Do not paste tokens, cookies, or full environment dumps into public issue trackers. Redact secrets before sharing diagnostics.
Anthropic’s Claude Code troubleshooting page is the safest reference for supported troubleshooting behavior: Claude Code troubleshooting documentation.
Check Permissions and Interactive Prompts
Claude Code may need permission to read, edit, or run commands inside a project. If the terminal seems stuck, scroll back and look for a confirmation prompt that did not receive focus. Narrow panes and heavily wrapped output can make prompts easy to miss.
Check whether the current user can read the repository path and write where expected:
pwd
ls -la
find . -maxdepth 2 -type d ! -readable -print
A concrete symptom would be output like ./private-cache or ./vendor/internal from the find command. The next action is not sudo claude; it is to inspect that path and fix the specific ownership or permission issue deliberately.
If Claude Code only hangs after proposing a command, the blocked process may be a test runner, package script, build step, or shell command waiting for stdin. Stop the command, run the proposed command manually if safe, and verify whether it returns outside Claude Code.
Kill a Stuck Process Safely
If Claude Code is genuinely stuck and Ctrl + C does not return the prompt, identify the process before killing anything:
ps aux | grep -i '[c]laude'
Terminate only the matching Claude Code process you recognize:
kill <PID>
Use kill -9 only when normal termination fails and you are confident the PID is correct. Killing the wrong process can interrupt unrelated development tools, database containers, or editors.
After termination, reopen a clean terminal and retry from a small directory. If the process repeatedly hangs on launch, record the command, shell, operating system, terminal app, working directory type, and whether a proxy or VPN is active.
Reinstall Only After Isolation
Reinstalling can help when the executable is missing, corrupted, or installed under the wrong Node/npm prefix. It should not be the first fix for a hang. Before reinstalling, confirm that claude --help fails or that PATH points to an unexpected location.
If you installed through npm, inspect the global prefix and active binary path:
npm config get prefix
command -v claude
ls -l "$(command -v claude)"
If the binary path is stale, remove and reinstall using Anthropic’s official setup guidance for your environment: Claude Code setup documentation. For install failures or post-install issues, cross-check Anthropic’s troubleshooting page as well: Claude Code troubleshooting documentation.
Avoid mixing package managers unless you know which one owns the active executable. One common edge case is a shell that still resolves an old command path after reinstall. Close all terminals or clear the shell command hash before retesting.
Browser and Authentication Gotchas
Claude Code runs in the terminal, but authentication may depend on a browser handoff. That creates a browser-specific failure mode: the login page opens, you complete the flow, and the terminal still waits because the callback never reaches the CLI.
Try a different browser profile, disable strict privacy extensions for the auth flow, or copy the login URL into the browser where you are already signed in. If your default browser blocks redirects or isolates sessions aggressively, the CLI may wait for a callback that never arrives.
Keep the terminal open while completing authentication. Do not restart the command halfway through the login flow unless it clearly failed.
Platform-Specific Checks
On macOS, confirm the terminal app has permission to access the project folder, especially under Desktop, Documents, Downloads, or external volumes. On Linux, check filesystem permissions, shell startup files, and proxy variables.
On Windows, separate PowerShell, Command Prompt, WSL, and IDE terminals. Each can expose different PATH and network behavior. If Claude Code works in WSL but not native Windows, or the reverse, treat them as separate installations.
For remote development containers, SSH sessions, and Codespaces-style environments, confirm that authentication and browser callback flows make sense for the remote host. The CLI may run remotely while the browser opens locally, which can break callback and environment assumptions.
If It Still Fails
If the problem remains after clean-terminal, empty-directory, network, auth, and permission checks, escalate with a precise report. Include your operating system, shell, terminal app, installation method, whether claude --help responds, whether the issue occurs in an empty directory, and whether VPN or proxy settings are involved.
Do not include API keys, session cookies, private repository content, or full environment dumps. Use official help, status, or vendor support routes first. Community posts can help with pattern matching, but they should not replace official guidance for authentication and account access.
Also record the smallest command that reproduces the hang. A minimal reproduction is more actionable than a broad report that only says “Claude Code is not responding.”
FAQ
Why is Claude Code not responding after I type a prompt?
The most likely causes are a blocked network request, an authentication issue, a hidden confirmation prompt, or a repository context that takes too long to inspect. Test in an empty directory before changing project files.
Should I reinstall Claude Code immediately?
No. Reinstall only after checking that the command is missing, claude --help fails, or PATH points to an unexpected executable. Many hangs are caused by auth, network, or project context rather than installation.
How do I know whether the problem is my project?
Run Claude Code from a small empty directory. If it responds there but hangs in your repository, inspect generated files, unreadable folders, large dependency trees, and the project root you launched from.
Can a VPN or proxy make Claude Code freeze?
Yes. A VPN, corporate proxy, DNS filter, or TLS inspection policy can prevent terminal requests from completing. Compare proxy variables in the terminal and test on an approved known-good network when possible.
Is Claude Code down right now?
This article does not make real-time outage claims. Check Anthropic’s official status page for current availability, then continue local troubleshooting if the service appears available.
Should I run Claude Code with sudo if permissions fail?
No. Running the CLI with elevated privileges can create root-owned files and make normal development commands fail later. Fix the specific file or directory permission instead.
What information should I collect before asking support?
Collect your OS, shell, terminal app, install method, command -v claude result, whether claude --help responds, whether an empty-directory test works, and any proxy or VPN context. Redact secrets.