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

# Troubleshooting

> Find the symptom and fix it, from a missing ribbon button to a slide that did not change.

Organised by what you are seeing.

## Installing and opening

<AccordionGroup>
  <Accordion title="No pretty button on the Home ribbon" icon="ban">
    The button only appears on a fresh start of PowerPoint. Look under **Home → Add-ins →
    My Add-ins** for **Pretty**, open it from there, then restart. If it is not listed at all,
    the install did not complete. Redo it from [Install the add-in](/get-started/install).
  </Accordion>

  <Accordion title="Marketplace is greyed out, or IT blocks the install" icon="lock">
    Many organizations disable self-service add-ins, and nothing you do in PowerPoint works
    around that. Ask your Microsoft 365 admin to deploy Pretty centrally from **Settings →
    Integrated apps**. The details they need are under **Deploying centrally for a whole
    organization** on [Install the add-in](/get-started/install).
  </Accordion>

  <Accordion title="The pane is blank, or stuck loading" icon="spinner">
    The pane is a web view, so a blank pane means it could not load its own assets. Close it and
    reopen it from the **pretty** button, then restart PowerPoint. If it survives a restart, your
    network is blocking `addin.make-pretty.com` or `api.make-pretty.com`. Ask IT to allow both.
  </Accordion>

  <Accordion title="A connection screen instead of the chat" icon="plug">
    The pane shows a status screen when it cannot reach Pretty. None of these lose work, because
    your chats live on the server, not in the pane.

    | Screen                           | What to do                                                                       |
    | -------------------------------- | -------------------------------------------------------------------------------- |
    | **You're offline**               | Reconnect; the pane comes back on its own.                                       |
    | **Can't reach the server**       | It keeps retrying, so wait. If it persists, check for a VPN or proxy in the way. |
    | **Something's wrong on our end** | Try again in a moment, and [tell us](/help/support) if it lasts.                 |
    | **Down for maintenance**         | Wait. The app resumes by itself.                                                 |
  </Accordion>
</AccordionGroup>

The four screens, each naming its cause rather than failing silently:

<Columns cols={2}>
  <Frame>
    <img src="https://mintcdn.com/pretty/AolTsLIDSZTnCk8e/images/connection-offline.png?fit=max&auto=format&n=AolTsLIDSZTnCk8e&q=85&s=02bdd07a591451e2b6605610f29d2c18" alt="Connection screen reading You're offline" width="1100" height="555" data-path="images/connection-offline.png" />
  </Frame>

  <Frame>
    <img src="https://mintcdn.com/pretty/AolTsLIDSZTnCk8e/images/connection-unreachable.png?fit=max&auto=format&n=AolTsLIDSZTnCk8e&q=85&s=1d61cea0f304429007ecca206c47773c" alt="Connection screen reading Can't reach the server" width="1100" height="555" data-path="images/connection-unreachable.png" />
  </Frame>

  <Frame>
    <img src="https://mintcdn.com/pretty/AolTsLIDSZTnCk8e/images/connection-server-error.png?fit=max&auto=format&n=AolTsLIDSZTnCk8e&q=85&s=39b558129c901f1eeed8b9656d0c4024" alt="Connection screen reading Something's wrong on our end" width="1100" height="555" data-path="images/connection-server-error.png" />
  </Frame>

  <Frame>
    <img src="https://mintcdn.com/pretty/AolTsLIDSZTnCk8e/images/connection-maintenance.png?fit=max&auto=format&n=AolTsLIDSZTnCk8e&q=85&s=e7160532caf74fde4f3ced1b169f6c55" alt="Connection screen reading Down for maintenance" width="1100" height="709" data-path="images/connection-maintenance.png" />
  </Frame>
</Columns>

## Signing in

The add-in signs you in by opening a browser tab and waiting for you to approve it there. Most
failures are that handoff going wrong.

| What you see            | What to do                                                                                                             |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **Nothing to connect**  | You opened the connect page directly. Start from the task pane instead.                                                |
| **Couldn't authorize**  | The approval expired or the code was already used. Close the tab and retry from the task pane.                         |
| Browser tab never opens | Your browser blocked the pop-up. Allow pop-ups for PowerPoint, or copy the link the pane shows into a browser by hand. |
| Task pane keeps waiting | You approved in a different browser profile than the one that opened. Retry in a single browser.                       |

<AccordionGroup>
  <Accordion title="You are signed in as the wrong account" icon="user-xmark">
    Usually because you approved in a browser already signed in as someone else. Invitations are
    matched on the exact address they were sent to, so this also produces *"Wrong account"* on an
    invitation link. Use **Settings → Account → Sign out**, then start again from the task pane
    and approve in a browser profile signed in as the right person.
  </Accordion>

  <Accordion title="Signed in, but no workspace" icon="building-circle-exclamation">
    Pretty is built around a shared workspace, and an account without one cannot open chats. Ask
    an admin on your team to invite you from **Settings → Members → Invite a teammate**, sent to
    the address you signed in with. See [Members and roles](/admin/members).
  </Accordion>
</AccordionGroup>

## While the agent works

<AccordionGroup>
  <Accordion title="This chat is busy with another request" icon="hourglass-half">
    A turn is already running there. Sending anyway holds your message as *"Queued"*. Use
    **Send now** when the turn ends, or **Dismiss** to drop it. If you need an answer now, open a
    **New Chat**; chats run in parallel.
  </Accordion>

  <Accordion title="The AI got stuck repeating the same action, so the turn was stopped." icon="rotate">
    A loop guard fired. The agent tried the same thing repeatedly and got nowhere, so Pretty
    stopped it rather than spend your budget on it. Rephrase more concretely: name the slide,
    name the shapes, split a big ask in two. A request that loops is usually ambiguous, not hard.
  </Accordion>

  <Accordion title="Rate limited, or the provider's quota is exceeded" icon="gauge-high">
    Both come from the model provider, not from Pretty. Rate limiting means too many requests too
    quickly. Wait a moment and send again. Quota means the account behind the key is out of
    credit, so check its plan and billing, or switch key in
    [Model providers](/admin/model-providers).
  </Accordion>

  <Accordion title="This chat has grown too large to continue" icon="box-open">
    The conversation carries more than one turn can hold, usually from many steps or large
    attachments, and compaction has nothing left to reclaim. Start a **New Chat** and re-attach
    only what still matters. See [Context and compaction](/chat/context).
  </Accordion>

  <Accordion title="You've reached your monthly AI limit." icon="wallet">
    *"Please contact an administrator to raise it."* Your own monthly allowance is spent (a
    colleague's usage does not affect it), and new requests are paused until the limit is raised
    or the month rolls over on the 1st. Check **Settings → Usage** for the figure, then ask your
    workspace owner or admin. See [Usage and limits](/admin/usage-limits).
  </Accordion>

  <Accordion title="Your organization requires an API key, but none is configured" icon="key">
    The workspace is set to bring-your-own-key and none has been added, so nobody can chat until
    one is. An admin adds it in [Model providers](/admin/model-providers).
  </Accordion>

  <Accordion title="The AI provider rejected your API key" icon="triangle-exclamation">
    The configured key is invalid, expired, or has no access to the model being called. An admin
    should re-check it and confirm it works for the selected provider and region.
  </Accordion>

  <Accordion title="The selected model isn't available on your LiteLLM proxy" icon="server">
    Your workspace routes through a self-hosted proxy and this chat's model is not in the proxy's
    model list. Pick a different one from **Select model**, or ask whoever runs the proxy to add
    it. See [Choosing a model](/chat/models).
  </Accordion>
</AccordionGroup>

## Results on the slide

<AccordionGroup>
  <Accordion title="A change never appeared in the deck" icon="eye-slash">
    The **PowerPoint** step rolls back when it fails, so a failed write leaves the slide exactly
    as it was, which looks the same as nothing happening. Expand the **PowerPoint** row: if it
    errored, use **Copy error**, then retry with a narrower ask or send it to
    [support](/help/support). If it succeeded, click a slide line under it to jump to the change.
  </Accordion>

  <Accordion title="PowerPoint keeps jumping while the agent works" icon="arrows-up-down-left-right">
    **Follow the agent's edits** is on, so your view moves to every slide as it is inserted. Turn
    it off in **Settings → Preferences**. The slides are still written, your view just stops
    chasing them. See [Preferences](/help/preferences).
  </Accordion>

  <Accordion title="The wrong logo came back" icon="image">
    Logo search matches on company name and a vision model chooses among candidates, so ambiguous
    names resolve to the wrong brand or the wrong variant. Select the logo on the slide (the
    **Switch Logo** tab appears) and swap it in place, or ask again with the variant spelled
    out: *"the wordmark, not the symbol"*. See [Logos](/assets/logos).
  </Accordion>

  <Accordion title="Text overflows after a font change" icon="font">
    Faces have different metrics, so text sized for one can spill in another. It also happens
    when a brand font is removed, because decks fall back to a default face on their next load
    and may reflow. Ask Pretty to fix the overflow on that slide, and upload the missing face in
    **Settings → Fonts**. See [Brand fonts](/admin/brand-fonts).
  </Accordion>
</AccordionGroup>

## Still stuck

Email [support@make-pretty.com](mailto:support@make-pretty.com).
[Support](/help/support) lists what to include so we can reproduce it on the first try.
