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
- Set up a recurring cron job (e.g.,
*/2 * * * *) that checks for messages - Each cron tick injects a full prompt into the conversation
- Even when results are empty (no messages to process), each tick adds ~500+ tokens of context
- System reminders like "task tools haven't been used recently" also inject between turns
- 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
- Allow cron jobs to specify a "silent on empty" mode
- Prioritize user-originated messages over system/cron prompts
- Reduce context footprint of system reminders
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗