Otto can't find an email that's sitting right there in my Gmail

Modified on Tue, 4 Aug at 3:45 PM

You are looking straight at the message. Your own note to the client went out on Monday, her reply landed on Tuesday, both are in Gmail where they belong, and Otto tells you neither one exists. The performer who first reported this put it plainly: "An email to a client and her reply cannot be seen by Otto, even though they appear in my sent and inbox." Otto's own write-up was blunter still, calling the two messages "not retrievable by the connected Gmail tools, through any search method" while dozens of unrelated messages from those same two days came back perfectly. If you have ever said "Otto says he can't find an email that is right there in my Gmail", this article is for you. There are two separate causes, they are both fixable, and neither one means anything is broken in your mailbox.

First, the part that matters most: nothing is lost

The messages are in your account. This is a reading problem, not a data problem. Open Gmail in your browser and answer that client today, before you touch any settings. Your gig and your deposit are not at risk either, because Otto tracks the gig record itself, separately from whether he can read one particular message about it. Once you have replied, come back and fix the reading path so it does not happen on the next booking.

Reason 1: the claude.ai Gmail connector reads threads, and Gmail splits threads

If Otto is reading your Gmail through the Gmail (linked account) method, he is going through the Gmail connector on your claude.ai account. That connector does not read messages. It reads threads, using tools that show up in Otto's own reports by name: get_thread and search_threads.

Here is why that matters. Gmail decides what belongs to a "thread" from the subject line and the reply headers, and it gets that decision wrong more often than anyone admits. A single back-and-forth with one client routinely gets split across more than one thread ID. Any message that lands in a grouping the search did not cover becomes invisible to that connector, even though it is sitting in the mailbox in plain sight.

That is exactly what happened in the reported case. One conversation with one client resolved to two different Gmail thread IDs, and the two newest messages, the performer's note out on 20 July and the client's reply back on 21 July, fell into neither grouping. Every unrelated message from those same days read back fine, because each of those was its own findable thread. Nothing about the account, the password, or the app was wrong.

That connector belongs to Google and is wired in through claude.ai, so Booked Solid cannot patch it. The fix is to stop using it for mail.

The reliable fix: move Otto onto the direct Gmail connection

The app has its own Gmail path that does not use threads at all. It reads the mailbox straight over IMAP, message by message. If a message is in the account, it can reach it, including your own sent replies, as long as you point it at the right folder. Reason 2 below is how you do that.

  1. Open the Connections tab. It lives under More.
  2. Scroll to Mail & calendars and look at how that address is listed. If it says Gmail (linked account), that is the thread-limited path and it needs replacing.
  3. Click Add an email account and keep the method on Any email (IMAP).
  4. In your browser, go to myaccount.google.com/apppasswords and create an app password. Your Google account needs 2-Step Verification switched on before Google will issue one. Google shows a 16-letter code.
  5. Back in the app, enter your Gmail address and paste that code into the password field. Spaces are stripped for you. The IMAP server is imap.gmail.com.
  6. Click Save. The inbox now appears in the list on that same tab with its own Check it button. Click Check it and wait for it to confirm the sign-in works.
  7. Still on the same tab, under Tool access, confirm Gmail (app password) is on. On current versions, saving the inbox switches it on for you.
  8. Remove the old Gmail (linked account) entry, or disconnect the Gmail connector on claude.ai, so Otto has nothing thread-limited to fall back to.

There is no restart step. The account reaches Otto the moment you save it. The full walkthrough, including custom-domain Google Workspace addresses, is in Connect your Gmail with an app password (step by step), and every possible Check it error is decoded in Add any inbox by IMAP: app passwords and every "Check it" error explained.

Reason 2: Otto can't see my sent messages, because the search starts in your inbox

This one bites even after you are on the direct connection, and it catches people who assume the first fix failed. The app's mail search defaults to your INBOX only. Your own sent messages live in a different Gmail folder, so they are simply not in scope unless you ask for them. When half of a conversation is yours, half of the conversation goes missing, and it looks identical to the thread-splitting problem.

The cure is one sentence of phrasing. When you want a whole conversation rather than just what arrived, tell Otto to search All Mail. On Gmail that is the [Gmail]/All Mail folder, and it contains everything, sent messages included. Copy this and swap in the name:

  • "search All Mail for the thread with [client name], including my sent messages"
  • "check the Sent folder on the Gmail app-password connection and tell me exactly what went out and when"

On the direct connection Otto can open [Gmail]/Sent Mail himself, so that second phrasing is also the fastest way to verify that something really was sent, without you leaving the app to check.

Three things not to spend your afternoon on

The performer who reported this worked through all of these before writing in, and none of them was the cause. Skip them.

  • The known search truncation. There is a real limitation where a search returns only the first handful of messages in a thread. It is not this. Full-content retrieval, not only search, failed here, which is precisely what proved the problem was the thread grouping rather than a result cap.
  • Your timezone setting. Changing it will not bring the message back. A sweep with no date range at all still surfaced neither message, so time was never the filter that hid them.
  • Suspecting the wrong account is connected. Almost everyone tries this first, and it is a dead end when Otto is correctly finding dozens of other messages from the same days. He is reading the right mailbox. He is reading it the wrong way.

How to confirm it is actually fixed

Do not test with a general question. Test with the exact message that went missing. Start a fresh chat and ask Otto to search All Mail for that client and read back the date and the opening line of the message he could not see before. If he quotes it back to you, the direct path is doing its job. If you have more than one inbox connected, Otto names which account he is acting in, so you can see the right address doing the work.

If it still happens

Do this while the trace is fresh. Open the Settings tab, stay on General, scroll to the support section and switch on Support logging. Start a fresh chat, ask Otto for the message again so he reports it missing one more time, then return to the same section and click Generate Support Bundle. Attach that file to a ticket with two or three sentences: the client's name, the date of the message you can see, and what Otto said instead. The bundle carries the app's own logs, system details and safe settings. It does not include your passwords, your saved keys, or the contents of your email. Full instructions are in Generate a support bundle and turn on support logging.

Still stuck? Email bookedsolid@kivimedia.freshdesk.com and a person will help.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article