CLAUDE_CODE_STOP_HOOK_BLOCK_CAP

Updated by

CLAUDE_CODE_STOP_HOOK_BLOCK_CAP is a Claude Code environment variable: Cap how long a stop hook can block session termination. If you've ever hit Ctrl+C and had Claude Code hang before actually closing — this is why, and this is the fix. A stop hook making an API call or running a slow cleanup script used to hold the session indefinitely. Added between v2.1.138 and v2.1.143 and still present in v2.1.294. It is listed in the official reference.

StatusPresent in v2.1.294
AddedAdded between v2.1.138 and v2.1.143
CategoryOther
Official docsListed

How to set it

For one session, export it in the shell that starts Claude Code:

export CLAUDE_CODE_STOP_HOOK_BLOCK_CAP=<value>
claude

To apply it to every session, add it to the env object of a settings file:

// ~/.claude/settings.json
{
  "env": {
    "CLAUDE_CODE_STOP_HOOK_BLOCK_CAP": "<value>"
  }
}

Release notes that mention it

Related variables

Frequently asked questions

What does CLAUDE_CODE_STOP_HOOK_BLOCK_CAP do?

Cap how long a stop hook can block session termination. If you've ever hit Ctrl+C and had Claude Code hang before actually closing — this is why, and this is the fix. A stop hook making an API call or running a slow cleanup script used to hold the session indefinitely.

Which Claude Code version has CLAUDE_CODE_STOP_HOOK_BLOCK_CAP?

Added between v2.1.138 and v2.1.143 and still present in v2.1.294.

How do I set CLAUDE_CODE_STOP_HOOK_BLOCK_CAP?

Export it before starting Claude Code (export CLAUDE_CODE_STOP_HOOK_BLOCK_CAP=value), or add it to the "env" object in ~/.claude/settings.json to apply it to every session.

All variables, searchable: Claude Code environment variables.