> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chatsailer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting

> The failures people actually hit. Retrying an insufficient-scope error will not help.

Client-specific nits live on that client's tutorial. This page is the shared
list.

<AccordionGroup>
  <Accordion title="Couldn't reach the MCP server">
    Almost always a typo in the URL. It is `/mcp/crm` or `/mcp/studio`, not
    `/crm` and not `/mcp`.

    Check the server is up first:

    ```bash theme={null}
    curl -s -o /dev/null -w '%{http_code}\n' https://mcp.chatsailer.com/healthz
    ```

    `200` means Sailer is fine and the problem is your URL or client config.
  </Accordion>

  <Accordion title="No Sailer account for this sign-in">
    The email you used at Auth0 is not a member of any Sailer workspace. Sign
    in with the address your Sailer account uses, or ask an admin to invite
    you.
  </Accordion>

  <Accordion title="No workspace available">
    Your account exists but belongs to no workspace. An admin has to add you
    to one.
  </Accordion>

  <Accordion title="Consent shows fewer permissions than I expected">
    It is showing what *your role* in that workspace can grant. Anything
    struck through is a scope your role cannot give away, so it will not be
    included. Ask an admin to widen the role if you need it.

    First connection is [reads only](/mcp/auth) on purpose. Writes are a
    reconnect, not a missing checkbox you overlooked.
  </Accordion>

  <Accordion title="I want a different workspace, or I want to write">
    A connection is bound to one workspace for its lifetime. The binding lives
    inside the token, which is why no URL names a company.

    Remove the connector and add it again, then pick the other workspace — or
    approve the write scopes — at consent. Same reconnection for both.

    You cannot point one URL at two workspaces at once.
  </Accordion>

  <Accordion title="CRM token on Studio, or the other way around">
    OAuth tokens are minted for exactly one server. Using a CRM grant on
    Studio is **401**, not 403. Audience mismatch is not a missing scope.
    Reconnect to the other URL. Retrying will loop.
  </Accordion>

  <Accordion title="The connector has no Sailer logo">
    Expected for a custom connector. Claude and ChatGPT only render a logo
    for directory listings, where the icon is uploaded separately. The server
    does publish its icon; those clients do not read it here yet.
  </Accordion>

  <Accordion title="Unknown field, not found, missing scope">
    MCP errors are written for the model, which is about to decide what to do
    next.

    * **Unknown field** — name the key and often a suggestion. Call
      `describe_schema`. Do not retry the same key.
    * **Not found** — deleted, other workspace, or outside your ACL. Same
      next step: list or search again. Do not retry the id.
    * **Missing scope** — the message names the scopes and says retrying will
      not help. It won't. [Reconnect](/mcp/auth) and grant them.

    A 401 on the HTTP layer (expired or wrong-audience token) is different: the
    client should re-authorize, not the model retry the tool.
  </Accordion>
</AccordionGroup>
