claude-code - 💡(How to fix) Fix Proactive `/schedule` and `/loop` pitches feel intrusive — please add a global opt-out [1 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#55157Fetched 2026-05-01 05:44:46
View on GitHub
Comments
0
Participants
1
Timeline
2
Reactions
0
Participants
Timeline (top)
labeled ×1renamed ×1

Root Cause

  1. It feels like an upsell because it is one. Routines, scheduled agents, and /loop are paid product surfaces that consume Claude credits on a recurring basis. Telling the agent to suggest them "proactively" turns every coding session into a sales channel.

Fix Action

Fix / Workaround

The current "shove it in CLAUDE.md per-repo" workaround is not acceptable for a behavior that ships in the default system prompt.

RAW_BUFFERClick to expand / collapse

What

Claude Code's default system prompt tells the agent to proactively pitch /schedule, /loop, and other Claude product surfaces at the end of replies — "want me to schedule a background agent in 2 weeks to…", "want me to /loop this every Monday…", etc.

This is upsell behavior, not assistance. It's baked into the agent's baseline instructions and there is no off switch.

Why this is a problem

  1. It interrupts my workflow. I'm in the middle of a task. I asked for the task. I did not ask whether I should buy more Claude product surface area. The pitches show up uninvited, at the end of every other reply, on tasks that are objectively done.

  2. It feels like an upsell because it is one. Routines, scheduled agents, and /loop are paid product surfaces that consume Claude credits on a recurring basis. Telling the agent to suggest them "proactively" turns every coding session into a sales channel.

  3. There is no way to turn it off. I can put "stop pitching routines" in a project's CLAUDE.md / AGENTS.md and it works for that repo, on that machine, in that session. The next fresh session in any other project starts pitching again. There is no global setting, no env var, no CLI flag.

  4. It contradicts your own stated principles. The same system prompt tells the agent to be terse, avoid "trailing summaries," and not narrate. Then it explicitly instructs the agent to append a sales pitch. Pick one.

What I want

A first-class global opt-out. Either:

  • "suppressProactiveOffers": true in ~/.claude/settings.json, or
  • An env var (CLAUDE_NO_UPSELL=1), or
  • Just make the proactive-offer behavior opt-in instead of opt-out.

The current "shove it in CLAUDE.md per-repo" workaround is not acceptable for a behavior that ships in the default system prompt.

Severity

Low for the codebase, high for trust. Every pitch is a small reminder that the assistant has commercial incentives that aren't aligned with my workflow. That erodes faster than any product feature can rebuild.

extent analysis

TL;DR

To address the issue, consider adding a global opt-out mechanism, such as a setting in ~/.claude/settings.json or an environment variable, to disable proactive pitches for Claude product surfaces.

Guidance

  • Investigate the possibility of adding a "suppressProactiveOffers": true setting in ~/.claude/settings.json to disable proactive pitches globally.
  • Explore using an environment variable, such as CLAUDE_NO_UPSELL=1, as an alternative opt-out method.
  • Consider making the proactive-offer behavior opt-in instead of opt-out to align with the stated principles of being terse and avoiding trailing summaries.
  • Review the current workaround of adding "stop pitching routines" in a project's CLAUDE.md / AGENTS.md and assess its limitations.

Notes

The issue highlights a contradiction between the system prompt's instructions to be terse and avoid trailing summaries, and the proactive pitching behavior. A global opt-out mechanism would help address this issue and improve user trust.

Recommendation

Apply a workaround by adding a global opt-out mechanism, such as a setting in ~/.claude/settings.json or an environment variable, to disable proactive pitches. This approach would help mitigate the issue until a more permanent solution is implemented.

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