Use when macOS Parallels smoke must prove Discord two-way delivery end to end.
Cover:
message send to Discordmessage read sees that new messageOPENAI_API_KEYexport OPENCLAW_PARALLELS_DISCORD_TOKEN="$(
ssh peters-mac-studio-1 'jq -r ".channels.discord.token" ~/.openclaw/openclaw.json' | tr -d '\n'
)"
pnpm test:parallels:macos \
--discord-token-env OPENCLAW_PARALLELS_DISCORD_TOKEN \
--discord-guild-id 1456350064065904867 \
--discord-channel-id 1456744319972282449 \
--jsonmacOS 26.3.1 fresh.*-poweroff* clones when the base hint also matches. That lets the harness reuse disk-only recovery snapshots without passing a longer hint.PET_QUESTION_SNAPSHOT_STATE_INCOMPATIBLE_CPU, drop the suspended state once, create a *-poweroff* replacement snapshot, and rerun. The smoke scripts now auto-start restored power-off snapshots.openclaw wrapper for guest message send/read; node openclaw.mjs message ... does not expose the lazy message subcommands the same way.channels.discord.guilds in one JSON object (--strict-json), not dotted config set channels.discord.guilds.<snowflake>... paths; numeric snowflakes get treated like array indexes.prlctl enter / expect for long Discord setup scripts; it line-wraps/corrupts long commands. Use prlctl exec --current-user /bin/sh -lc ... for the Discord config phase./tmp/openclaw-parallels-smoke.*--jsonfresh.discord-roundtrip.log and discord-last-readback.json in the run dir first.discord=pass for that laneopenclaw message read outputnpx skills add openclaw/openclaw/.agents/skills/parallels-discord-roundtripCopy the installation command above and run it in your terminal to install globally.
Add the required environment variables to your MCP client according to the skill description.
Configure and enable this skill in any MCP-compatible app (e.g. Claude or Cursor).