System prompts (cron, task reminders) can block agent from responding to user

Resolved 💬 3 comments Opened Mar 17, 2026 by seth-agent Closed May 22, 2026

Description

When using Claude Code as a long-running agent with cron-based polling (via CronCreate), system-injected prompts can consume context and block the agent from responding to actual user messages.

Steps to reproduce

  1. Set up a recurring cron job (e.g., */2 * * * *) that checks for messages
  2. Each cron tick injects a full prompt into the conversation
  3. Even when results are empty (no messages to process), each tick adds ~500+ tokens of context
  4. System reminders like "task tools haven't been used recently" also inject between turns
  5. When the user sends a message, it can get buried between system prompts and the agent processes cron ticks instead of responding

Expected behavior

  • System prompts should not block user messages
  • Empty poll results should be ultra-lightweight or suppressed
  • User messages should have priority over recurring system prompts

Actual behavior

  • Cron prompts fire continuously and consume context even with empty results
  • The agent ends up responding to system prompts instead of user messages
  • Context window fills up faster, leading to compaction and lost conversation history

Environment

  • Claude Code CLI, running as a long-running agent via tmux
  • Using CronCreate for recurring tasks
  • Communication via iMessage MCP server

Suggested improvements

  1. Allow cron jobs to specify a "silent on empty" mode
  2. Prioritize user-originated messages over system/cron prompts
  3. Reduce context footprint of system reminders

View original on GitHub ↗

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