-
Notifications
You must be signed in to change notification settings - Fork 421
Description
Skill content leaks into shell on load, creating junk files
Summary
When loading the humanizer skill in Claude Code, the skill's markdown content escapes the TUI and is interpreted as raw shell input by zsh. This creates empty files on disk and produces dozens of shell errors.
Environment
- Claude Code v2.1.49
- macOS (zsh)
- iTerm2
- Opus 4.6
Steps to reproduce
- Open Claude Code in a terminal
- Load or trigger the humanizer skill (it was loaded as part of skill installation via
npx skills add) - The skill's documentation/examples are dumped directly into the shell instead of being rendered inside the Claude Code TUI
What happens
The skill content contains markdown blockquotes used as before/after examples:
> It could potentially possibly be argued that the policy might have some effect on outcomes.
> The policy may affect outcomes.
> None of this means the tools are useless.
> The company plans to open two more locations next year.
> Great question! You're absolutely right that this is a complex topic.When these leak into zsh, the > operator acts as a file redirection, creating empty files named after the first word:
The(from> The policy may affect outcomes.)It(from> It could potentially possibly be argued...)None(from> None of this means the tools are useless.)Great(from> Great question!...)Here(from> Here is an overview...)
The rest of each line is then interpreted as a command, producing errors like:
zsh: command not found: company
zsh: command not found: could
zsh: command not found: policy
zsh: command not found: of
zsh: no matches found: **Problem:**
zsh: command not found: ###
zsh: command not found: ---
The output also included heavily garbled/corrupted text with repeated ###########mp###########mp patterns, suggesting terminal escape sequence corruption.
Impact
- Creates unexpected empty files in the working directory
- 31
command not founderrors in a single incident - Corrupted terminal output requiring session restart
- Potential data loss if
>redirections overwrite existing files
Possible cause
The skill readme/documentation content may contain characters or sequences that break the Claude Code TUI rendering boundary, causing raw text to be passed to the parent shell process. The corruption pattern (###########mp repeating) suggests a control sequence handling issue.