> ## Documentation Index
> Fetch the complete documentation index at: https://grow-hub.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting

> Connection, sign-in, and dispatch problems, and how to clear them.

<AccordionGroup>
  <Accordion title="The client can't connect / every call returns 401">
    Confirm the URL is exactly `https://studio-api.growhub.ai/mcp` (no trailing
    slash issues, `POST`, streamable HTTP). A `401` on the first call is normal —
    it carries the `WWW-Authenticate` header that starts OAuth. If the browser
    never opens, your client may not support the flow; bridge through
    `npx mcp-remote https://studio-api.growhub.ai/mcp` instead.
  </Accordion>

  <Accordion title="Sign-in loops back to the login page">
    Studio's login lives at `studio.growhub.ai/login` and uses Google. If a
    third-party-cookie blocker or an unrelated signed-in Google account is in
    play, sign in to the web app in the same browser first, then retry the
    connect.
  </Accordion>

  <Accordion title="Tools write to the wrong studio">
    MCP resolves your active studio, and falls back to your first membership.
    Switch the active studio in the web app, then reconnect the MCP server so a
    new session is issued. There is no per-tool studio argument yet.
  </Accordion>

  <Accordion title="`connect_platform` returns forbidden">
    The tool requires `owner` or `admin` in that studio. Check your role under
    **Settings → Members**, or ask an admin to run the connect.
  </Accordion>

  <Accordion title="I connected LinkedIn but publishing says not_connected">
    The OAuth callback has to complete for the connection to be stored — the URL
    returning from `connect_platform` is only the start. Run `list_connections`;
    if the platform isn't listed, the authorization was declined or the callback
    failed. Connect again.
  </Accordion>

  <Accordion title="A scheduled post never fired">
    Check its `status`. `scheduled` with a past `scheduledAt` should clear within
    about two minutes. `failed` carries a `failureReason` — the common ones are a
    revoked connection or a platform rejection. Fix the cause, then
    `schedule_post` again (a failed post can be re-scheduled directly).
  </Accordion>

  <Accordion title="Images upload but don't appear on the post">
    Uploading and attaching are separate steps. After
    `request_asset_upload` + `PUT`, or `upload_asset_inline`, you must call
    `attach_asset`. Assets uploaded through `create_upload_session` attach
    themselves — re-read the post with `get_post` to see them.
  </Accordion>

  <Accordion title="Publishing fails with publishing_video_not_supported_yet">
    Studio stores video and documents, but only images are dispatched to
    platforms today. Detach the file to publish the post now.
  </Accordion>
</AccordionGroup>

## Still stuck?

Open an issue in the [Studio repo](https://github.com/GrowHubAI/studio/issues)
with the tool name, the exact message, and the post id.
