Available skills list re-injected as <system-reminder> on tool results, bloating context

Resolved 💬 4 comments Opened Apr 29, 2026 by janitaportrait Closed May 3, 2026

The full list of available skills (with descriptions) is being re-emitted as a <system-reminder> block in tool results during a session, not just loaded once at session start. In a session with the Vercel plugin enabled (~40 skills) plus ~30 personal skills, this is ~10–15k tokens repeated multiple times across Edit, Bash, and WebSearch tool results in a single conversation.

This appears to be a sibling of #32057 (rules files re-injected on every tool call), but with the available-skills list as the payload rather than .claude/rules/ files. I did not find an existing issue specifically tracking the skills-list variant.

Repro signal

In a single conversation:

  • The same <system-reminder> block listing all ~75 skills appeared multiple times across different tool results
  • Same content each time — re-injection rather than incremental
  • Disabling the Vercel plugin (40 skills) immediately halved the size of subsequent reminders, confirming the contents track installed-skill count rather than relevance

Environment

  • Claude Code CLI, interactive mode (not headless / -p)
  • macOS Darwin 23.4.0
  • Vercel plugin v0.40.0 enabled at time of repro
  • ~30 user skills under ~/.claude/skills/ and project .claude/skills/

Expected

Skills list loaded once at session start (or on plugin reload), not re-emitted on tool results.

Impact

In long edit-heavy sessions, this compounds with the rules-file re-injection in #32057 to consume a substantial fraction of the context window.

View original on GitHub ↗

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