claude-code - 💡(How to fix) Fix Make end-of-reply '/schedule' offers opt-in (or easier to suppress) [2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#55104Fetched 2026-05-01 05:46:10
View on GitHub
Comments
2
Participants
2
Timeline
6
Reactions
0
Author
Timeline (top)
commented ×2labeled ×2closed ×1cross-referenced ×1

The system prompt currently instructs the model to proactively pitch /schedule at the end of replies whenever the work has a "natural future follow-up" (feature flags, soak windows, recurring sweeps, "remove once X" TODOs, etc.). For some users, this lands as noise rather than helpfulness, and even after telling the model "stop doing that" it tends to creep back the next session because the instruction is in the harness-level system prompt rather than user-controlled config.

Root Cause

Summary

The system prompt currently instructs the model to proactively pitch /schedule at the end of replies whenever the work has a "natural future follow-up" (feature flags, soak windows, recurring sweeps, "remove once X" TODOs, etc.). For some users, this lands as noise rather than helpfulness, and even after telling the model "stop doing that" it tends to creep back the next session because the instruction is in the harness-level system prompt rather than user-controlled config.

Fix Action

Fix / Workaround

What I tried (workaround)

Added a rule to my user-level CLAUDE.md:

Do NOT proactively offer to /schedule background agents at end of replies. … Only use /schedule when explicitly asked.

RAW_BUFFERClick to expand / collapse

Summary

The system prompt currently instructs the model to proactively pitch /schedule at the end of replies whenever the work has a "natural future follow-up" (feature flags, soak windows, recurring sweeps, "remove once X" TODOs, etc.). For some users, this lands as noise rather than helpfulness, and even after telling the model "stop doing that" it tends to creep back the next session because the instruction is in the harness-level system prompt rather than user-controlled config.

What I'd love

A first-class way to turn this off, e.g.:

  • A settings.json key like replyHygiene.proactiveScheduleOffers: false, OR
  • The end-of-reply pitch only firing when a user-set flag is on (opt-in instead of opt-out), OR
  • At minimum, a documented contract that putting "no proactive /schedule offers" in ~/.claude/CLAUDE.md is sufficient and won't drift across model versions.

Why now

I've now had to file the same correction twice in a week, and the second time only after the model pitched /schedule immediately after a fix where I'd asked for none of the surrounding scope creep. The feature itself is great when I reach for it; it's the unsolicited pitch I want to suppress.

Tone of the current instruction

The relevant block in the system prompt is roughly:

"after you finish work that has a natural future follow-up, end your reply with a one-line offer to /schedule a background agent to do it… The bar is 70%+ odds the user says yes…"

In practice the 70% threshold is very hard for the model to calibrate to, and false-positives feel chatty. An explicit user-controlled toggle would solve it cleanly without removing the feature for users who do want it.

What I tried (workaround)

Added a rule to my user-level CLAUDE.md:

Do NOT proactively offer to /schedule background agents at end of replies. … Only use /schedule when explicitly asked.

This works within a session once loaded, but I don't trust it to hold across model updates or across new harness features that rely on similar end-of-reply instructions. A first-class toggle would be more robust.

Suggested telemetry

If you can already see how often these offers are accepted vs declined vs ignored, that ratio is probably a good signal for whether the default should be opt-in.


Filed via Claude Code from a session where I'd just merged two small infra PRs and got the /schedule pitch as a closer despite explicitly not asking for any followup. Happy to provide the transcript if useful.

extent analysis

TL;DR

Implement a user-controlled toggle, such as a settings.json key, to opt-in or opt-out of proactive /schedule offers.

Guidance

  • Consider adding a replyHygiene.proactiveScheduleOffers key to settings.json to allow users to control the feature.
  • Evaluate the effectiveness of the current 70% threshold and adjust or replace it with a more reliable calibration method.
  • Review telemetry data on accepted, declined, and ignored /schedule offers to inform the default behavior.
  • Document the contract for suppressing proactive /schedule offers in ~/.claude/CLAUDE.md to ensure consistency across model versions.

Example

No code snippet is provided as the issue focuses on configuration and feature design rather than code implementation.

Notes

The solution may require changes to the system prompt, user configuration, and telemetry data collection. The effectiveness of the proposed toggle and calibration method should be monitored and adjusted as needed.

Recommendation

Apply a workaround by adding a rule to the user-level CLAUDE.md file, as described in the issue, until a first-class toggle is implemented. This provides a temporary solution while a more robust fix is developed.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING