Feature: quiet/silent mode for cron-triggered tool calls
Problem
When using CronCreate to poll an MCP tool on a recurring schedule (e.g., every minute), each tool call renders its full input and output in the terminal — even when the result is a no-op (empty array, timeout, etc.). This creates significant visual noise.
Example: An IPC polling cron that checks for messages every 60 seconds produces this 5-7 line block each time, even when there are no messages:
⏺ ipc - wait_for_messages (MCP)(name: "researcher", timeout: 5)
⎿ {
"messages": [],
"waited": true,
"timedOut": true
}
⎿ 1 PostToolUse hook ran
⎿ Async hook UserPromptSubmit completed
In a multi-agent setup with 8+ agents, each polling every minute, this dominates the terminal output and makes it hard to see actual work.
Proposed Solution
Add a way to suppress tool call rendering for cron-triggered prompts when the result is a no-op. Options:
silentflag on CronCreate —CronCreate({ cron: "*/1 * * * *", prompt: "...", silent: true })— suppresses tool call output unless the cron prompt produces meaningful results (e.g., the model generates text output or calls additional tools beyond the polling tool).
- Collapsible/minimal rendering — render cron-triggered no-op tool calls as a single collapsed line (e.g.,
⏺ [cron] poll — no messages) instead of the full multi-line block.
- Output threshold — if a cron-triggered prompt results in only a single tool call with no model text output, suppress the rendering entirely.
Use Case
Multi-agent coordination via MCP IPC server. Each agent polls for messages on a cron schedule. The polling is essential for responsiveness, but the visual noise from empty polls overwhelms the terminal.
Environment
- Claude Code v2.1.90+
- macOS / iTerm2
- Multiple concurrent Claude Code sessions
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗