Change an active or paused monitor in place. Every field is optional; leave one out to keep it. Filter fields (from_contains, subject_contains, body_contains, account, from_excludes, subject_excludes, body_excludes) replace the current value, and an empty string clears it; the same rules as create_monitor apply, so at least one of from/subject/body must remain. Mail containing any word in from_excludes, subject_excludes or body_excludes (comma-separated) never matches; an empty string clears one. exclude_bulk true skips newsletters and promos (false stops); bulk_allow replaces the senders that still match, and an empty list clears it; account_excludes replaces the accounts skipped, and an empty list clears it. paused=true stops scanning without cancelling; paused=false resumes, and mail that arrived while paused is never matched. Pausing does not stop the clock. extend_hours adds time to the current end; expires_at (ISO 8601 with a time zone) sets it outright, any future date; expires_at 'never' removes the end date. notify_macos, notify_session, notify_ntfy and notify_codex switch that channel on or off for this monitor only. source switches what it watches ('mail', 'imessage', 'calls', 'whatsapp', 'notes', 'notifications' or 'any', as in create_monitor); a newly watched source starts from now. app changes a notifications monitor's app filter; channel, mentions_me, thread and dm change a Slack monitor's filter. Editing never replays mail already scanned. codex_thread (a Codex session's own CODEX_THREAD_ID) attaches this existing monitor to that conversation in place: matches recorded from now on are queued there, and it is the chat reopened when closed; its history and other channels are unchanged. wake_client picks which agent a match wakes when the session is closed ('origin' for the one that made it, or 'claude-code', 'codex', 'cursor', 'vscode', 'claude-desktop' for a new session of that agent, 'chatgpt' for a ChatGPT event subscription); set it only when the user asked. wake_mode picks how: 'interactive' (reopen it in the user's terminal), 'notify' (just tell the user) or 'default' (the Keeploop setting); set it only when the user asked or your own workflow needs it. Background wakes are app-only. background_connectors asks the user to let this monitor's background runs use more connectors, as in create_monitor; an empty list withdraws a request still waiting. Only the user can remove an approved one. slack picks where this monitor's Slack alerts go when the user has set up the Slack app: 'dm' (a direct message to the user), '#channel-name' (a channel the app was invited to), 'off', or 'default' (the Slack setting in Keeploop). track 'ask' sets a promise monitor (create_commitment_monitor) back to asking the user; only the user can choose 'auto', in Keeploop's Settings. routes replaces the monitor's check_route labels; an empty list clears them. From web and phone AI apps every change needs the Monitor permission, and only name, paused, extend_hours, expires_at, routes and track 'ask' can be changed; the filter, source and delivery options work only from an agent on the Mac. Requires Keeploop Pro.