Skip to content

Skill content leaks into shell on load, creating junk files #37

@marwann

Description

@marwann

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

  1. Open Claude Code in a terminal
  2. Load or trigger the humanizer skill (it was loaded as part of skill installation via npx skills add)
  3. 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 found errors 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions