docs/TROUBLESHOOTING.md
Community-reported workarounds for current Claude Code bugs that can affect ECC users.
These are upstream Claude Code behaviors, not ECC bugs. The entries below summarize the production-tested workarounds collected in issue #644 on Claude Code v2.1.79 (macOS, heavy hook usage, MCP connectors enabled). Treat them as pragmatic stopgaps until upstream fixes land.
Symptoms: Hook runs successfully, but Claude Code still shows Hook Error in the transcript.
What helps:
input=$(cat) in shell hooks) so the parent process does not see an unconsumed pipe.0 allows, 2 blocks, other non-zero exits are treated as errors.Example:
# Good: block with stderr message and exit 2
input=$(cat)
echo "[BLOCKED] Reason here" >&2
exit 2
CLAUDE_AUTOCOMPACT_PCT_OVERRIDESymptoms: Lowering CLAUDE_AUTOCOMPACT_PCT_OVERRIDE causes compaction to happen sooner, not later.
What helps:
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE and prefer manual /compact at logical task boundaries.strategic-compact guidance instead of forcing a lower auto-compact threshold.Symptoms: Gmail or Google Drive MCP tools fail after compaction even though the connector still looks authenticated in the UI.
What helps:
PostCompact reminder hook that warns you to re-check connector auth after compaction.Symptoms: Changes to settings.json hooks do not take effect until the session is restarted.
What helps:
/reload command around kill -HUP $PPID, but ECC does not ship that because it is shell-dependent and not universally reliable.529 Overloaded responsesSymptoms: Claude Code starts failing under high hook/tool/context pressure.
What helps:
ENABLE_TOOL_SEARCH=auto:5 if your setup supports it.MAX_THINKING_TOKENS for routine work.CLAUDE_CODE_SUBAGENT_MODEL=haiku if your setup exposes that knob.