A little bird says what to try next.

What a refusal from the connection means, and what to do about it.

Every tool error carries a message, a next step, and whether it can be retried. Reconnecting does not change access, monitoring or allowance. When a change or a check may have started, read back before you ask again.

Dr. Canary inspecting a broken chain link with a magnifying glass

Pick what you saw

What you saw

It says I have no sites.

Error codeslist_sites returns entryKind no_access or pending_setup

What it means

Your account has no site access yet, or setup is not finished. An empty list does not mean the account is ready.

What to do

  1. Ask your assistant for the entryPath that list_sites returned, and open it.
  2. For a new account, that path leads to setup, to pricing, or to an invitation from your team.
  3. If you expected a site, check that you signed in with the intended Dr. Canary account.

Reading an error

A refused tool call comes back marked as an error, with JSON that carries these fields:

FieldWhat it carries
codeThe refusal, such as no_monitoring.
messageWhat happened, in one sentence.
nextStepWhat to do about it.
retryableWhether the same call can be tried again.
outcomeOn a change or a check: not_started or unknown.
retryAfterSecondsOn rate_limited: how long to wait.

An input refusal such as invalid_input, invalid_focus or departments_required means the request needs correcting. Nothing was changed.

Renewing, then reconnecting

  1. Let the app renew

    Your app may renew an ordinary expired sign-in on its own. Give it that chance before you reconnect.

  2. Reconnect only if renewal fails

    In ChatGPT, open Settings › Plugins › Dr. Canary and choose Reconnect. In Claude Code, run /mcp, select dr-canary, and authenticate. In Codex, run this command.

    codex mcp login dr-canary
  3. Know what it cannot fix

    Reconnecting does not grant access, a role, monitoring or allowance the account does not have.

A change with an unknown outcome

The rule that matters most: read back before you repeat. A change or a check whose answer was lost may still have happened.

  • After a check request: read the site’s recorded checks with list_runs. For a Group, read get_group for the same Group. For a finding, read its thread in Dr. Canary.
  • After a shopper save, a calendar change or a retirement: read the saved shoppers with list_assignments.
  • A missing row does not prove the change failed, and does not make a repeat safe.
  • Retry a change only when the error says outcome: not_started and retryable: true, after its next step.

Slow or pending is not failed

  • A check request comes back queued or running. That means it was admitted, not that it finished.
  • A report can be assembling, which means it is being put together. It is not published yet.
  • A finished check is not a published report.
  • A check’s status is not a verdict about your website.

When to open Dr. Canary instead

  • A report too large to return: open the link it came back with.
  • An allowance or monitoring question: review the site in Dr. Canary.
  • A finding recheck you cannot confirm: read the finding’s thread.
  • unavailable or integration_unavailable that keeps coming back: try again later. If it continues, contact support at tom@drcanary.com.

What it does not do

  • Reconnecting does not grant access, monitoring or allowance.
  • A check request names a site, not a shopper, a journey or a web address.
  • A missing record does not confirm that a change failed or that a repeat is safe.
  • A queued check is not a finished check, and a finished check is not a published report.

Ask your assistant

More examples
  • Did my last check request go through? Read the recorded checks before asking again.
    • list_runs
  • Why was my shopper change refused?
    • list_assignments
  • Which Dr. Canary sites can you see, and is setup finished?
    • list_sites

Questions

Why does my assistant say I have no sites?

Your account has no site access yet, or setup is not finished. list_sites returns an entryPath that leads to the next step. Open it in Dr. Canary.

Will reconnecting fix a refused change?

No. A refusal about your role, monitoring or allowance stays until that changes. Reconnect only when the app cannot renew an expired sign-in.

The answer was lost after I asked for a check. Should I ask again?

Not yet. Read the site’s recorded checks first, because asking twice can start two checks and use allowance twice. Retry only when the error says outcome: not_started and retryable: true.

Why did I only get a link to the report?

The report was too large to return through the connection. It is not empty. Open the link in Dr. Canary to read it.

What does too many requests mean?

Either your account made 60 tool calls in a rolling minute on one server instance, or that instance was already serving as many signed-in people as it holds at once. Wait the seconds in retryAfterSeconds, then continue. It is not your check allowance.

Why did it test a different shopper than the one I just edited?

The basic check uses the first saved shopper that has not been retired, including a paused one. It is not necessarily the one you just created or edited. There is no way to pick another.

Who do I contact if it keeps failing?

If unavailable keeps coming back after you try again later, contact support at tom@drcanary.com.

Dr. Canary giving the OK sign

Give your assistant something to read.

A checkup is one report. Monitoring keeps the bird shopping your site on a schedule, so there is a fresh report every time you ask.

Compare plans