keepcalculator

06 Numbers and Powers

Claude Code Exit Code 1: Fixes That Work

Card No. 06·1363 · Updated · Standard formula, shown below

The calculator on this card is switched off while it is checked. The formula is below, and the worked example shows how to do the sum by hand.

When Claude Code exits with code 1, it means the process ended due to an error—usually a syntax issue, a failed API call, or a problem in your environment. To fix it, read the error message printed just above the exit code, fix that specific issue, and rerun the command. Below is a detailed breakdown of the most common causes and step-by-step solutions.

Formula

The calculator above is a placeholder for the Claude Code error calculator—but since exit code 1 isn’t a numeric formula, we instead show a heart-rate example to illustrate how this site’s calculators work. For Claude Code, the “formula” is: Exit code 1 = error in code, config, or environment. There’s no single equation; you diagnose by reading the stack trace.

Worked Example

Using the default values (age 30, resting HR 60), max HR = 220 – 30 = 190 bpm. Target zone lower bound = 190 * 0.6 = 114 bpm. This shows the calculator pattern, but the rest of this article focuses on Claude Code.

What Exit Code 1 Means in Claude Code

Exit code 1 is the generic “something went wrong” signal in Unix-like systems. Claude Code, Anthropic’s terminal-based coding agent, returns it when a command fails—not when the AI itself is broken. The exit code alone doesn’t tell you what failed; you must look at the stderr output above it. Common triggers include:

  • Syntax errors in your code that Claude Code tried to run or edit
  • Failed API calls (network, authentication, rate limits)
  • Invalid configuration in claude.json or environment variables
  • Missing dependencies or wrong Node.js version
  • Permission issues when writing files or executing scripts

How to Diagnose the Exact Error

Don’t guess—read the output. Run the same command in your terminal with verbose logging enabled. For Claude Code, use claude --debug or set ANTHROPIC_LOG=debug. Look for the first line that says “Error” or “Fatal”. That line usually contains the file name and line number. If you see a stack trace, the top frame is where the problem originated. Copy that exact message into a search engine or ask Claude Code itself to explain it.

Common Fixes for Exit Code 1

Here are the most frequent solutions, in order of likelihood:

  1. Fix syntax errors: If Claude Code edited a file and introduced a syntax error, open that file, find the highlighted line, and correct it. Run a linter like eslint or python -m py_compile to catch issues.
  2. Check your API key: Exit code 1 often happens when the Anthropic API key is invalid or expired. Run echo $ANTHROPIC_API_KEY to verify it’s set. If not, create a new key from the Anthropic console and set it with export ANTHROPIC_API_KEY=sk-ant-....
  3. Update Claude Code: An outdated version may have bugs. Run npm update -g @anthropic-ai/claude-code or claude update.
  4. Clear cache and config: Sometimes a corrupted config causes failure. Delete ~/.claude (backup first) and try again.
  5. Check Node.js version: Claude Code requires Node 18+. Run node -v. If older, install a newer version using nvm.
  6. Run in a clean directory: A project with a broken package.json or conflicting files can trigger exit 1. Test in an empty folder to isolate the issue.

Environment-Specific Problems

Claude Code runs differently depending on your setup. On Windows, exit code 1 may come from path separator issues or PowerShell execution policy. Use claude.cmd instead of claude. On macOS/Linux, check file permissions with ls -la and ensure scripts have execute bits. If you’re using a CI/CD pipeline, environment variables may not be passed—verify with printenv. Also, if you’re behind a corporate proxy, SSL errors can cause exit 1; set HTTPS_PROXY correctly.

When It’s Not Your Fault

Sometimes exit code 1 is due to an Anthropic service outage or a bug in Claude Code itself. Check the status page at status.anthropic.com. If everything looks fine, try claude --version to see if you’re on a beta channel. You can also check GitHub issues for known problems with your version. If it’s a service issue, wait and retry—there’s nothing to fix on your end.

Frequently Asked Questions

Why does Claude Code exit with code 1 when I run a simple command?

Even simple commands can fail if the environment isn’t set up. For example, if you type claude and get exit 1, it’s likely the API key isn’t found. Set it and try again. If the command is a shell command like ls, exit 1 means the directory doesn’t exist.

How do I see the full error message?

Run the command with --debug or redirect output to a file: claude --debug 2> error.log. Then open the log and look for “Error” lines. The message right before the exit code is usually the most informative.

Can exit code 1 be caused by a bug in Claude Code itself?

Yes. If you’ve verified your code, config, and environment are correct, it could be a bug. Check the GitHub repository’s issues for similar reports. You can also try downgrading to a previous version: npm install -g @anthropic-ai/claude-code@0.2.0 (replace with a known stable version).

Does exit code 1 mean my code is wrong?

Not necessarily. It means the process exited with an error, but that error could be in the tool, the environment, or the code. Always read the error message first. If Claude Code was running a test suite, exit 1 usually means a test failed—check the test output.

How do I fix exit code 1 in a GitHub Actions workflow?

In CI, exit code 1 often comes from missing secrets. Ensure your Anthropic API key is stored as a secret and referenced correctly. Also check that the Node version in the workflow matches Claude Code’s requirement. Add a step to print the error: run: claude --debug || true to see the output without failing the build.

Final Tips to Avoid Exit Code 1

Prevention is better than debugging. Keep your Node.js updated, store API keys in a .env file (not hardcoded), and run claude in a clean shell to avoid conflicting aliases. If you’re using Claude Code to edit files, always run a syntax check afterward. And remember: exit code 1 is a signal, not a dead end—read the output, fix the cause, and move on.

Related

Formula used
in t | Your age | years | 30 | 0 | 120
in h | Resting heart rate | bpm | 60 | 20 | 220
out max | Max heart rate | bpm | 220 - t | 0
out zone | Target zone (60-80%) | bpm | (220 - t) * 0.6 | 0

Each line is one input (in, sel, list) or one result (out: label, unit, formula, decimals). How the calculators work

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.

More cards in this drawer

The whole Numbers and Powers drawer →