Summary
google-meet realtime sessions do not reliably survive after the CLI command that starts/joins the Meet exits, even though the changelog for #72441 says sessions are gateway-owned. The browser/Meet side can remain alive, but the OpenClaw realtime session registry is empty, so follow-up commands cannot address the session.
Environment
- macOS ARM local gateway
- OpenClaw gateway launched as LaunchAgent
- Gateway command:
/Users/coltonharris/.local/bin/node /Users/coltonharris/.npm-global/lib/node_modules/openclaw/dist/index.js gateway --port 18789
google-meet extension enabled
- Gateway status after restart: RPC
ok: true, runtime running
Reproduction shape
- Start/restart the gateway.
- Use the
google-meet CLI/plugin path to join or test speech against a Meet URL, for example:
openclaw gateway restart --json
openclaw googlemeet test-speech https://meet.new
- After the join/test command exits, ask OpenClaw for active Meet sessions:
openclaw googlemeet status
- Try to speak to the prior realtime session id:
openclaw googlemeet speak <session-id> "hello"
Expected
The gateway should retain the realtime session after the CLI command exits. openclaw googlemeet status should list the active session, and openclaw googlemeet speak <session-id> should be able to route audio/text to that session until it is explicitly ended or the Meet tab leaves.
Actual
openclaw googlemeet status returns an empty session registry:
{
"found": true,
"sessions": []
}
In the original same-machine failure state, the Meet tab was still in-call and recover-tab could find it, but googlemeet status was empty and googlemeet speak <session-id> returned a session-not-found style failure. That means the browser/meeting state and OpenClaw realtime session registry diverged.
A fresh post-restart check after cleanup shows no recoverable tab, but still demonstrates the session registry state after dispatch/test attempts:
openclaw googlemeet status
# { "found": true, "sessions": [] }
openclaw googlemeet recover-tab
# Google Meet current tab: not found
# transport: chrome
# node: local/none
# message: No existing Meet tab found in local Chrome.
Impact
This breaks agent-mediated Google Meet workflows. A coordinator agent can dispatch a notetaker/realtime owner, but once the CLI command exits, follow-up actions cannot target the session. The result is that a meeting can appear joined/alive at the browser layer while OpenClaw cannot list or speak to it.
Notes
This was found while wiring a dedicated meet-notetaker agent as the plugins.google-meet.config.realtime.agentId. The agent routing itself works, but the realtime session lifecycle appears to be the failing boundary.
Summary
google-meetrealtime sessions do not reliably survive after the CLI command that starts/joins the Meet exits, even though the changelog for #72441 says sessions are gateway-owned. The browser/Meet side can remain alive, but the OpenClaw realtime session registry is empty, so follow-up commands cannot address the session.Environment
/Users/coltonharris/.local/bin/node /Users/coltonharris/.npm-global/lib/node_modules/openclaw/dist/index.js gateway --port 18789google-meetextension enabledok: true, runtimerunningReproduction shape
google-meetCLI/plugin path to join or test speech against a Meet URL, for example:Expected
The gateway should retain the realtime session after the CLI command exits.
openclaw googlemeet statusshould list the active session, andopenclaw googlemeet speak <session-id>should be able to route audio/text to that session until it is explicitly ended or the Meet tab leaves.Actual
openclaw googlemeet statusreturns an empty session registry:{ "found": true, "sessions": [] }In the original same-machine failure state, the Meet tab was still in-call and
recover-tabcould find it, butgooglemeet statuswas empty andgooglemeet speak <session-id>returned a session-not-found style failure. That means the browser/meeting state and OpenClaw realtime session registry diverged.A fresh post-restart check after cleanup shows no recoverable tab, but still demonstrates the session registry state after dispatch/test attempts:
Impact
This breaks agent-mediated Google Meet workflows. A coordinator agent can dispatch a notetaker/realtime owner, but once the CLI command exits, follow-up actions cannot target the session. The result is that a meeting can appear joined/alive at the browser layer while OpenClaw cannot list or speak to it.
Notes
This was found while wiring a dedicated
meet-notetakeragent as theplugins.google-meet.config.realtime.agentId. The agent routing itself works, but the realtime session lifecycle appears to be the failing boundary.