React error #185 crash when invoking user-defined skill

Resolved 💬 3 comments Opened Jan 6, 2026 by nick-glooper Closed Jan 10, 2026

Description

Claude Code crashes with React error #185 (Maximum update depth exceeded) when invoking a user-defined skill via /skillname syntax.

Version

  • Claude Code: 2.0.76
  • Platform: Linux 6.17.0-8-generic

Steps to Reproduce

  1. Create a simple user skill in ~/.claude/commands/nje.md:
---
description: Add a timestamped journal entry
allowed-tools: Read, Edit
---

Append a new timestamped journal entry to `/path/to/journal.adoc`.

**Entry content**: $ARGUMENTS

**Instructions**:
1. Get the current timestamp using format: `YYYY-MM-DD HH:MM`
2. Append to the Entries section with this format:

=== TIMESTAMP

ENTRY_CONTENT

Keep it brief - just add the entry and confirm.
  1. Invoke the skill with a long argument:
/nje email from Rachael Corby to Ryan Weatherhead. Ryan Weatherhead is my line manager at DSTL and shall be referred to by using the initials RW. RW forwarded this email on to me. The email relates to the DSTL import process. We are in the process of purchasing some materials from a company called Petroceramics in Italy. So the question of the import process relates to this order - at least initially - although it is applicable to any other contract where we might be purchasing from a foreign (non-UK) company in the future. The advice from Rachel is to ask the supplier to send the tracking number, name of carrier and commercial invoice by email to the following email address ukstratcom-defsp-dscom-cct@mod.gov.uk. She further advises that the Transport and Logistics team can prepare the clearance paperwork in advance but that they need to receive the commercial invoice before they can start the clearance process.
  1. Claude Code crashes with React error

Error Output

error: Minified React error #185; visit https://react.dev/errors/185 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
      at qL (/$bunfs/root/claude:199:16264)
      at $ (/$bunfs/root/claude:199:15774)

The stack trace shows minified React code from /$bunfs/root/claude (the Claude Code binary itself).

Expected Behavior

The skill should execute normally, invoking the allowed tools (Read, Edit) to append the journal entry.

Actual Behavior

Claude Code crashes with a React "Maximum update depth exceeded" error, indicating an infinite loop in internal state management.

Workaround

Manually perform the skill's actions (reading and editing files) instead of using the /skill invocation.

Additional Context

  • React error #185 means: "Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate."
  • The crash appears to occur during skill argument processing/display, not during tool execution
  • The skill definition itself is valid and simple

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗