tinyhumansai/openhuman · error

Core rejected the agent_meetings_join request.

Error message

Core rejected the agent_meetings_join request.

What it means

The openhuman.agent_meetings_join RPC round-tripped but the core/backend answered ok:false — the join request was rejected downstream. The frontend sends the trimmed URL plus optional mascot slots (snake_case mapped), system prompt, listen_only and correlation_id to the backend's Recall.ai bot over the core's Socket.IO bridge; ok:false means the backend refused or the core could not emit bot:join.

Solutions

  1. Inspect the core's backend-bot logs — the ok:false is produced after the backend replies (bot:reply error event) and the reason is logged Rust-side
  2. Verify the URL matches a supported platform pattern before calling join
  3. Confirm backend connectivity: the core must hold a live Socket.IO session (check connections/health panel)
  4. Retry after resolving capacity/auth; surface the backend's reason string to the user instead of the generic message

Example fix

// before
const r = await joinMeetViaBackendBot({ meetUrl });

// after
const MEET_URL_RE = /^https:\/\/(meet\.google\.com|zoom\.us|teams\.microsoft\.com|webex\.com)\//;
if (!MEET_URL_RE.test(meetUrl)) throw new Error('Unsupported meeting link — use Google Meet, Zoom, Teams or Webex.');
const r = await joinMeetViaBackendBot({ meetUrl });
Defensive patterns

Strategy: try-catch

Validate before calling

function looksLikeMeetingUrl(u: string): boolean {
  return /^https:\/\/(meet\.google\.com|.*\.zoom\.us|teams\.microsoft\.com|.*\.webex\.com)\//i.test(u.trim());
}

Type guard

function isJoinRejected(err: unknown): boolean {
  return err instanceof Error && err.message.includes('agent_meetings_join');
}

Try / catch

try {
  return await joinMeetViaBackendBot(input);
} catch (err) {
  if (isJoinRejected(err)) {
    // ok:false came from backend bot join — check core logs for the bot:reply reason
    showJoinFailed('The meeting bot could not join. Check the link and try again.');
    return null;
  }
  throw err;
}

Prevention

When it happens

Trigger: Unsupported or malformed meeting platform/URL (not Google Meet/Zoom/Teams/Webex); backend rejects the bot join (capacity, auth, room unavailable); the core's persistent Socket.IO connection to the backend is down so join dispatch fails; invalid mascot_id or voice_id rejected server-side.

Common situations: Backend outage or expired backend session; pasting a personal-meeting-room link of an unsupported provider; concurrent join attempts exceeding the account's bot quota; mascot configuration referencing deleted mascots.

Related errors


AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17). Data as JSON: /api/errors/b618d660fb1a326c. Report an issue: GitHub.

Appendix: source

Thrown at app/src/services/meetCallService.ts:272

    method: 'openhuman.agent_meetings_join',
    params: {
      meet_url: meetUrl,
      display_name: input.displayName?.trim() || undefined,
      platform: input.platform || undefined,
      agent_name: input.agentName?.trim() || undefined,
      system_prompt: input.systemPrompt?.trim() || undefined,
      mascot_id: input.mascotId?.trim() || undefined,
      respond_to_participant: input.respondToParticipant?.trim() || undefined,
      wake_phrase: input.wakePhrase?.trim() || undefined,
      correlation_id: input.correlationId?.trim() || undefined,
      listen_only: input.listenOnly ?? undefined,
      rive_colors: mapRiveColors(input.riveColors),
      mascots,
    },
  });

  if (!result?.ok) {
    throw new Error('Core rejected the agent_meetings_join request.');
  }

  return { meetUrl: result.meet_url, platform: result.platform };
}

/**
 * Ask the backend bot to leave the current meeting.
 */
export async function leaveBackendMeetBot(reason?: string): Promise<void> {
  await callCoreRpc<{ ok: boolean }>({
    method: 'openhuman.agent_meetings_leave',
    params: { reason: reason || 'requested' },
  });
}

/**
 * Send a tool execution result back to the backend's meeting LLM.
 */

View on GitHub (pinned to 7491200858)