"Unhandled node type: array" emitted during bash tool call display
Description
When Claude Code presents a bash command containing nested $() subshells with bash array expansions (e.g. "${ARRAY[@]}"), the message "Unhandled node type: array" is emitted before the command runs. This appears to come from the tool-call rendering/display layer, not from bash itself.
Reproduction
A bash tool call like:
jq -n \
--argjson labels "$(jq -n '$ARGS.positional' --args "${LABELS[@]}")" \
'...'
The message appears in the output stream before execution begins.
Potential concern
If the display layer cannot fully render the command being executed, the user may not be able to verify what will actually run before approving it. Worth checking whether the rendering failure could cause the displayed command to differ from what actually executes, or silently truncate/modify the displayed text.
The rendering layer should ideally either:
- Handle all valid bash syntax it might encounter, or
- Fall back to displaying the raw command text verbatim rather than emitting an error
Environment
- Claude Code CLI on Linux
- Model: claude-opus-4-6
- Date: 2026-04-20
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗