Skip to content

Add a snooze answer to the SessionStart update prompt - #456

Merged
bguidolim merged 1 commit into
mainfrom
bruno/update-check-snooze
Oct 21, 2026
Merged

bguidolim merged 1 commit into
mainfrom
bruno/update-check-snooze

Conversation

@bguidolim

Copy link
Copy Markdown
Collaborator

Summary

Declining the SessionStart update question only lasted one session, so every parallel session asked again. The question now offers "Remind me tomorrow", which keeps every session quiet until the local date changes.

Release note

  • NEW: The session-start update question offers "Remind me tomorrow" (mcs check-updates --snooze), silencing it in every Claude Code session until local midnight

Changes

  • Update question has three answers: Update now / Not now / Remind me tomorrow
  • The notice no longer suggests mcs config set update-check false (the key still works)
  • New --snooze flag, rejected alongside --hook / --json
  • Snooze is stored apart from the update cache, so mcs update doesn't clear it; sync/doctor notices are unaffected

Test plan

  • swift test passes locally
  • swiftformat --lint . and swiftlint pass without violations
  • Affected commands verified with a real pack (e.g. mcs sync, mcs doctor)
  • Run mcs check-updates --snooze, then open a new session with pending updates → no update question
  • Set ~/.mcs/update-check-snooze to yesterday → the three-answer question returns
Checklist for engine changes
  • Docs updated if behavior changed (CLAUDE.md, docs/, techpack.yaml schema in ExternalPackManifest.swift)

- Hook question offers Update now / Not now / Remind me tomorrow; the disable-command line is gone
- `mcs check-updates --snooze` silences the hook in every session until local midnight
- Snooze lives in its own file so update-cache invalidation never clears it

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

Static review identified no blocking issues in this focused change; tests were inspected but not executed.

No open issues 🎉

What changed in this PR

Adds “Remind me tomorrow” to the SessionStart update prompt, suppressing notices across sessions until local midnight.

Changes:

  • Adds --snooze with separate persistent storage and incompatible-flag validation.
  • Updates the prompt to offer three answers.
  • Adds snooze tests and CLI documentation.
File Description
Tests/​MCSTests/​UpdateCheckerTests.swift Tests prompt options, snooze expiry, hook suppression, and flag validation.
Sources/​mcs/​Core/​UpdateChecker.swift Stores snooze state and updates prompt instructions.
Sources/​mcs/​Core/​Environment.swift Exposes the snooze file path.
Sources/​mcs/​Core/​Constants.swift Defines the snooze filename.
Sources/​mcs/​Commands/​CheckUpdatesCommand.swift Handles --snooze and suppresses snoozed hook notices.
docs/​cli.md Documents the command and three-answer prompt.
CLAUDE.md Adds the snooze usage example.

Review effort: Balanced

@bguidolim
bguidolim merged commit bd91ab4 into main Oct 21, 2026
6 checks passed
@bguidolim
bguidolim deleted the bruno/update-check-snooze branch October 21, 2026 12:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants