Google Calendar or Drive shows Linked, but Otto keeps asking for an approval that never appears

Modified on Tue, 4 Aug at 12:33 PM

You connected Google Calendar or Google Drive, Booked Solid shows the row as Linked, and Otto still will not use it. One performer described it exactly: "when it tries to connect to Calendar or google drive, it keeps saying it needs me to approve a 'permission notification'. It insists this should be inside the chat window, or somewhere near it, but I never end up seeing it. Booked Solid has it listed as Linked." Another wrote: "Google Calendar is linked and absolutely signed into and connected with Claude, but it refuses to connect with Booked Solid. I've disconnected it and reconnected MANY times as the program requested but it just loops back saying open Connections, click on Google Calendar ... REALLY frustrating." If you have been going round that loop, or you wrote in to say "Wanted to touch base about the calendar, drive and gmail", this article is the whole answer.

The honest answer, before any steps

The claude.ai Google Calendar connector and the claude.ai Google Drive connector cannot hand Otto your calendar or your files. Otto has no Google Calendar tools and no Google Drive tools behind those connectors. That is why the connection can only ever read Linked and never finishes into something usable. You have not been doing it wrong. You have been trying to complete a handshake that has no other end.

Which means the most common wasted effort here is disconnecting and reconnecting on claude.ai. Almost everyone tries that first, often many times over, and it cannot work. Skip it. What follows is the route that does work for each of the three: an ICS calendar feed for conflict checks, an IMAP inbox for Gmail, and nothing at all for Drive, because there is nothing behind that badge to switch on.

"Where do I see that approval?"

Otto used to say the approval "should be waiting for you now", and when performers asked where do I see that approval, there was never anything there. Two separate things produced that, and only one of them was a bug.

The bug: on the Connections tab, the connect button for Gmail, Google Calendar and Google Drive was handing the job to Otto. Otto cannot turn an account connection on, because that sign-in happens on Claude's own connectors page in your browser and Otto cannot reach that page. So the job sat there working, never finished, and the chat asked you to set up again. Version 1.7.17 fixed it: the button now opens the sign-in page for you and reads Open sign-in instead of Set this up for me. The app updates itself, so if you are on any 1.11 build you already have this fix. You can also download it from booked.kivimedia.co/download.

The second thing is not a bug and no update changes it: for Calendar and Drive there is no permission left to grant, because there is no tool waiting on the other side of it. So a prompt that never appears is not a prompt you missed.

Typing "I allow calendar access" will not raise a prompt

Performers have asked, reasonably: "Is there an easy way to get the permissions window to come up for those in the app?" and reported "It said if I typed I allow calendar access a prompt would appear but no such luck." There is no such window for Gmail, Calendar or Drive, and no phrase summons one. Otto sometimes claims one will appear. That is Otto overstating what he can do.

Plain-words permission is real, but only for the two connections the chat can settle on the spot. Saying "you can use my Chrome" or "I allow web browsing" switches Web browsing on right where you said it. Asking for Control this computer raises an Approve button in the same place, which you confirm with one tap, because mouse-and-keyboard reach never switches itself on from words alone. Google connectors are in neither group, and they never will be while Otto has no tools for them. That is also the answer to "They are still not connected, even though claude app is connected and all works there": the claude.ai connectors load while you are chatting with Claude directly, and Otto does his real work in a background session where those connectors do not reliably appear.

The "Approve Gmail and Google Calendar access" card is a signpost pointing at itself

On the Today screen, under Needs your decision, you may have a card reading Approve Gmail and Google Calendar access, and sometimes a second one reading Turn on Browser control in Connections. If that card offers you Approve, pressing Review this decision and approving is a dead end. Approving cannot turn a connection on, so the request goes straight back to the chat and the chat asks you to set up again. That was our defect, not a step you skipped.

Version 1.7.14 changed how those cards are written. Anything that is yours to switch on in another screen is now parked as a hand-off rather than a decision: the card carries one button reading Open Connections alongside Not now, and offers no Approve at all. On a current build it opens the screen with the real switches instead of looping you back into the chat.

If you are still holding an older Approve-shaped card, clear it with the small x in its top corner. It cannot approve anything, so dismissing it costs you nothing.

Otto says the calendar is not connected, but the rows are green

This is the one that catches the most people. There are two entirely different Google Calendar things in Booked Solid, and they are unrelated to each other:

  • The claude.ai Google Calendar connector. It shows Linked, its only button is Manage, and Manage sends you to claude.ai. It does not read ICS feeds, and it is unreliable in the background sessions where Otto actually works.
  • Your calendars under Connections > Mail & calendars. These are what Booked Solid actually reads for its agenda and its conflict checks, whether you added them as a private ICS link or as an iCloud (CalDAV) sign-in.

On older builds, typing "check my google calendar" in chat sent Otto to the connector rather than to your feeds, so he reported calendar not connected or not authorized and parked a needs-human note (one real example was gate-20260716-cal1). That message was always about the old connector and never about your real calendars. A parked needs-human item from this does not affect your bookings at all. Tell Otto to close it, or leave it.

If your read on this was "I had my Google calendar working over a week ago, since the latest updates it's not working", look at the ICS rows themselves before you believe it. In the ticket that phrase came from, both feeds were green and reporting real events. Nothing had broken.

What version 1.11.14 changed, and why older advice is now wrong

Version 1.11.14 gave Otto his own direct line to the calendars connected under Mail & calendars. He can pull your upcoming schedule and check any specific date for conflicts before proposing or committing anything. It is read-only by construction: Otto never creates, moves, or deletes an event. Existing calendar setups are picked up automatically on update, so there is nothing to reconnect. And when a calendar cannot be read for a moment, Otto now answers unknown rather than guessing free, so a date is never called clear on bad information.

Before 1.11.14 that was not true, and support told several people to test the calendar by asking Otto "check my calendar for next week". That advice was retracted, because on those builds Otto had nothing to read the calendar with and fell back to asking you to paste the link into the chat. If you are on an older build, judge your calendar by the rows in Connections > Mail & calendars and by clicking Check it on a row, not by asking Otto. A working ICS row reads Connected followed by the number of upcoming events it pulled from the next 60 days.

"It's telling me I have to paste the calendar ICS link into the chat every time"

No. You never have to re-enter it. The link you saved under Connections > Mail & calendars is stored once and stays there. On builds before 1.11.14 that paste request was Otto having no calendar tool and falling back to asking you for one. Update the app. Do not paste your secret calendar link into the chat.

Adding the calendar the way that works

If you have not added a real calendar feed yet, this is the five-minute version. The paste box does not exist until you pick the method, which is why there seemed to be nowhere to paste.

  1. Open calendar.google.com, click the gear then Settings, click your calendar under Settings for my calendars, scroll to Integrate calendar, and copy the Secret address in iCal format. Keep it private: anyone holding that link can see your calendar.
  2. In Booked Solid, open the Connections tab, not Settings and not the claude.ai website.
  3. Scroll to Mail & calendars and click Add a calendar.
  4. Name it ("Bookings" is fine), leave the purpose on For bookings, and in the method list choose Calendar feed (ICS link). A field reading The private ICS link appears the moment you pick that method. That is the paste box.
  5. Paste the secret iCal address, click Save, then click Check it on the new row.

Two notes worth having. A link that starts with webcal:// is accepted as of 1.11.35, so you can paste what Google, Apple, or Outlook hands you from their Subscribe buttons. And Google Calendar (linked account) is offered in that same method list but cannot do this job for the reasons above, so leave it alone. For iCloud calendars, use Private calendar sign-in (iCloud / CalDAV) instead, since iCloud's only feed option publishes the calendar. The full walkthrough is in Add email accounts and calendars (so gig dates never clash).

"There is no remove button" on the old Google Calendar row

In one performer's words: "It's now telling me to remove the old google by clicking the remove button, but there is no remove button. And if I click manage, it brings me to claude.ai." Support's first answer to that was wrong, so here is the corrected one.

That row is not a calendar Booked Solid stores. Calendars the app stores do get a Remove button on the right. What you are looking at is your claude.ai connection, which is exactly why its only button is Manage and why Manage sends you to claude.ai. There is no Remove for it inside Booked Solid, because it lives on your Claude account rather than in the app.

You do not need to remove it. The conflict check only ever reads calendar feeds, so leaving that row exactly where it is changes nothing about your bookings. If the leftover Linked label genuinely bothers you, remove it where it lives: on claude.ai open Settings > Connectors > Google Calendar and disconnect it there, then in Booked Solid close and reopen the Connections tab to refresh the label. That is cosmetic and nothing else.

Google Drive shows disconnected here and connected in Claude

If Connections reads Google Drive disconnected and it's definitely connected in Claude, let this one go. Nothing is broken and nothing is missing. Booked Solid gives Otto no Google Drive tools, so whether that badge reads linked or not changes nothing you can actually use. There is no Drive capability sitting behind the badge waiting to be unlocked, and there is no toggle to hunt for.

Two things explain why Drive shows disconnected but Claude shows it connected, or, put the other way round, why it is connected in Claude but not in the app. The badge is a local snapshot the app reads off your own computer, not a live query to claude.ai, so it can lag behind and disagree with what your browser shows you. And for a connector Booked Solid has no tools for, the badge is cosmetic anyway: it is reporting an account-level link that Otto has no way to act on.

The only action worth taking is to fully quit the app and reopen it, which forces it to re-read and tidy the badge. Fully quit means quitting the application rather than closing the window: on a Mac that is Cmd+Q or Booked Solid > Quit, and on Windows close it from the app rather than leaving it in the tray. There is no Refresh or Re-check button for these particular badges.

Please do not unlink and relink the connector on claude.ai to fix the Booked Solid badge, and do not remove keys, reinstall, or file a bug for it. None of that changes the badge and none of it gives Otto a capability he does not have.

Do not generalise this to the other two, though. Gmail and Google Calendar are different: the claude.ai route is not the supported path for them either, but unlike Drive they both have a real, working path inside Booked Solid. Calendar is the ICS or CalDAV feed described above. Gmail is a direct inbox: add it under Connections > Mail & calendars using Add an email account and Any email (IMAP), signing in with a 16-character Google app password from myaccount.google.com > Security > App passwords (which needs 2-Step Verification switched on). Saving it switches the Gmail (app password) tool on for Otto, and he can then read and draft across that inbox in the background. Step by step: Connect your Gmail with an app password (step by step). Once the direct connections are in place, the claude.ai connectors can stay disconnected forever and that is fine.

"Why does it say disconnected?" - what each badge actually promises

The badges are deliberately different from each other, and knowing which one you are looking at settles most of these arguments. The same badge vocabulary is used in Connected, Key saved, or Linked: what each Connections badge really means.

  • Connected (green): the app checked for a live presence on this computer right now and the check passed. This is the strongest badge.
  • Key saved (amber), or Login saved on account-based connectors: a credential is in the encrypted vault but has never been tested against the service.
  • Linked (dim): the connection lives at the account level, not on this machine, and has never been checked live. It means "this was linked at some point", nothing more.
  • Can't tell from here: this computer holds no record of your account's connectors at all, which is completely normal if you linked them on claude.ai in a browser. It is not the same as Not yet, and it is not the app calling your connection broken.
  • Not yet: nothing is set up for this connector.

So when the badge says not connected, or when it says Linked and nothing works, the badge is not lying to you so much as answering a narrower question than you asked. The real test is always whether the work actually happens.

Gmail is the one account connector that can be tested from inside the app. Its row carries a Check it's live button, which asks Otto whether the connection really works right now instead of trusting the Linked badge, and the answer appears beside it as working now, needs sign-in again, or couldn't confirm. Google Calendar and Google Drive do not have that button, and that absence is deliberate: a "working now" verdict would not be truthful for connectors whose tools never reach Otto.

The diagnostics text, and what "unconfirmed" means

At the top right of the Inbox, calendar & files section on the Connections tab there is a Copy diagnostics button. It copies exactly what the app read when it decided those statuses, with no keys or passwords in it. The block is longer than this, but these are the lines that settle the argument:

account record: /Users/<name>/.claude.json
linked connectors: claude.ai Gmail, claude.ai Google Calendar, claude.ai Google Drive
last live check:
gmail: unconfirmed

Reading that line by line: the linked connectors list is the account-level record, so seeing claude.ai Google Drive there tells you the link exists on your Claude account and tells you nothing about whether Otto can use it. And gmail: unconfirmed means precisely what it says: the last check could not prove the connection live in Otto's background session. It is not a failure verdict and it is not a green light. Paste the whole block into a ticket if you write in.

One cause people never guess: an Anthropic API key on this computer

If you have an Anthropic API key set on this machine, the claude.ai account connectors stay switched off while that key is in use, and relinking cannot bring them back. Gmail's live check names this in plain words when it happens. Remove the key, then ask Otto for a harmless Gmail draft to confirm. This is worth checking before you spend another evening on the connector itself.

If it still does not work

Open Settings > Support logging and switch on Enable Support Logging, reproduce the problem once while it stays on, then click Generate Support Bundle on that same screen and send the bundle in. Bundles carry app errors, system details, safe settings, and counts. They never carry your message text, your client details, your passwords, or your saved keys. If the problem is a calendar conflict check that got a date wrong, include the date and we will trace exactly what it read.

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