Command Reference
The examples below assume the OpenClaw global CLI. On QClaw, replace openclaw with the wrapper QClaw provides.
Auth
openclaw ntf auth set-api-key "ock_xxx"
openclaw ntf auth show
openclaw ntf auth clearset-token is a compatibility alias for set-api-key (a legacy name); the two behave identically. The api-key is written to credentials.json in the host state directory (mode 0600), and multiple keys are supported (apiKeys[], with one flagged default); the YOOOCLAW_API_KEY environment variable overrides whatever is in the file.
Notification search
openclaw ntf search
openclaw ntf search --app wechat --from 2026-03-01T00:00:00+08:00 --to 2026-03-09T23:59:59+08:00
openclaw ntf search --keyword "meeting" --limit 20
openclaw ntf search --sender "Zhang San"
openclaw ntf summary --limit 700
openclaw ntf stats --dim app --from 2026-03-01Notification sync
openclaw ntf sync scan
openclaw ntf sync fetch --date 2026-03-09
openclaw ntf sync commit --date 2026-03-09
# iterator style: auto-picks the next pending batch and hands back a ready-to-run commit command
openclaw ntf sync next
openclaw ntf sync next --all
openclaw ntf sync next --from-date 2026-03-01 --to-date 2026-03-09sync next is a convenience wrapper for memory-sync workflows: it auto-locates the next unprocessed date/batch and returns a ready-to-run commitCommand, so you don't have to compute --date / --end-index yourself.
Notification monitors
openclaw ntf monitor create boss-alert \
--description "Monitor important WeChat messages" \
--match-rules '{"appName":"wechat","senderKeywords":["Boss Zhang"]}' \
--schedule "*/30 * * * *"
openclaw ntf monitor list
openclaw ntf monitor show boss-alert
openclaw ntf monitor enable boss-alert
openclaw ntf monitor disable boss-alert
openclaw ntf monitor delete boss-alert --yesRecordings
openclaw ntf rec list
openclaw ntf rec status <recording-id>
openclaw ntf rec storage-path
openclaw ntf rec setupRecording results are written only through the Gateway WebSocket method recordings.result.write; HTTP POST /recordings is disabled as of 1.18.0 — the route remains but always returns 410 Gone (direct clients, including Tailscale, use the Gateway RPC too). A write response only means "accepted"; clients should confirm audio_status=downloaded with a non-empty audioFile via the recording.status event or a recordings.status query. The request may carry an optional top-level ossTaskId (the upload service's task ID): on a 403 the plugin uses it to fetch a fresh signed URL from the cloud once and retries, and echoes it in responses, events and queries.
Synced web pages (browser extension)
Page content captured by a browser extension is delivered to the plugin via webPages.save (Gateway Native) or POST /web-pages; these commands are pure reads of the local capture index and never touch the Internet:
openclaw ntf synced-web-page list
openclaw ntf synced-web-page list --from 2026-03-01T00:00:00+08:00 --to 2026-03-09T23:59:59+08:00
openclaw ntf synced-web-page search "keyword" --limit 20
openclaw ntf synced-web-page path <urlHash>
openclaw ntf synced-web-page storage-pathlist's --from is inclusive and --to is exclusive, filtering on capturedAt; pass a timezone-qualified timestamp. path accepts a unique hash prefix of at least 8 characters.
Light control
openclaw ntf light setup-tools
openclaw ntf light send \
--segments '[{"mode":"wave","duration_s":4,"brightness":192,"color":{"r":255,"g":0,"b":0}}]'To only show text on second-gen hardware with a screen, omit --segments and pass just --title / --reason:
openclaw ntf light send --title "Meeting" --reason "15:00 product review"light send supports at most MAX_LIGHT_SEGMENTS segments (exceeding it raises light_control supports 1-N segments), and repeat_times must be a non-negative integer.
Cloud todos
openclaw ntf todo list --is-done false
openclaw ntf todo get <id>
openclaw ntf todo create --title "Product review" --due-at 2026-10-10T15:00:00+08:00 --is-full-day false
openclaw ntf todo update <id> --is-done true # false reopens
openclaw ntf todo delete <id> --yesShares one client with the native Agent tools ai_todo_list / ai_todo_get / ai_todo_create / ai_todo_update / ai_todo_delete, reusing the app's todo service and the plugin API key. --due-at is the start time: ISO with timezone for timed items, a date for all-day, null for none. list also takes --start-time / --end-time / --keyword / --page-no / --page-size; replay an uncertain create with the returned --request-key and identical arguments; create / update also accept a JSON object via --json-file.
Data transfer
Moves notifications, recording transcripts, summaries and saved web pages (optionally audio / images / HTML archives) between environments; the source is kept intact and existing target records are never overwritten; memory, configuration and credentials are not transferred. The package format is interchangeable with the standalone CLI's yoooclaw transfer.
# Cloud relay (since 1.18.0, recommended default)
openclaw ntf transfer export --via oss # pack and upload; returns a taskId and a copyable import sentence
openclaw ntf transfer import --task <taskId> # target side: download, verify and import automatically
openclaw ntf transfer import --task <taskId> --dry-run
openclaw ntf transfer complete --task <taskId> --object-key <objectKey> # retry a failed upload confirmation
# Local packages
openclaw ntf transfer capabilities --out ./target-capabilities.json # run on the target
openclaw ntf transfer export --dry-run
openclaw ntf transfer export --out ./transfer-package.tar.gz --target-capabilities ./target-capabilities.json
openclaw ntf transfer import --file ./transfer-package.tar.gz # stage + preview only
openclaw ntf transfer import --local <localTransferId> --plan <planId> [--resume]- Scope:
--include notifications,recordings,web-pages,images,--from/--to(timezone-qualified, start inclusive / end exclusive),--with-audio/--with-images/--with-html(audio excluded by default). - An
--outending in.tar.gz/.tgzwrites a single archive (since 1.18.0), anything else a package directory; targets older than 1.18.0 only accept directories. The archive is just packaging — the contents are still plaintext. - Cloud relay uses the plugin API key, and source / target must be the same account and environment; uploads use the Alibaba Cloud SDK's resumable multipart upload with STS credentials renewed automatically, downloads use the plugin's Range downloader, and resumption only works within the same command. Client-side limit is 5 GiB per package; at most 3 task creations per day, never retried automatically. The server deletes cloud packages 24 hours after upload completes and the plugin has no delete command; download URLs are only used inside the command and never reach messages or logs.
- Imports run in the locally running plugin process: imported historical notifications land by the target's timezone and skip automatic memory consumption (every
ntf syncconsumer of that storage must be on 1.16.0+). A successful import cleans local staging automatically; partial or failed imports keep the staged package and report underplugins/phone-notifications/transfers/for retry — that directory holds plaintext data, so don't share it like a public log. - In web chat sessions the Agent runs
ntf transfer export --via oss --delivery-referenceto get only a delivery reference (e.g.[[transfer:1]]), and the nativeresult_delivertool sends the privacy warning and copyable import sentence after the turn ends; the real task ID never passes through the model.
Switching environments
openclaw ntf env show # current environment (development / test / production) and its endpoints
openclaw ntf env switch test # switch environment; triggers a gateway reload automaticallySwitching to a nonexistent environment name fails with 无效的环境名称: <env>,可选值: development, test, production without affecting the current environment.
Diagnostics & ops
openclaw ntf doctor
openclaw ntf doctor --json
openclaw ntf doctor --fix # auto-fix whatever can be auto-fixed (state-dir permission bits, dangerous flags)
openclaw ntf storage-path
openclaw ntf tunnel-status
openclaw ntf log --keyword error
openclaw ntf log --keyword relay --from 2026-03-01 --to 2026-03-09 --limit 100
openclaw ntf update
openclaw ntf update --beta # switch to the beta channel; beta builds don't redact logs, useful for debugging
openclaw ntf update --accept-capabilities # grant explicitly after reviewing, when a new version declares new capabilities (CAPABILITY_CONSENT_REQUIRED)ntf update reuses the host's native installer; logs and results land in <stateDir>/extensions/.phone-notifications-update/ — see Updating & Upgrading · OpenClaw plugin.