Say a connector is not granted, instead of browsing to the vendor - #169
Merged
davidmckayv merged 3 commits intoAug 22, 2026
Merged
Conversation
A Bot holding no grants was told nothing about connectors at all, so it treated a connected vendor as an ordinary website. Asked about Google Drive, the built-in Bot opened drive.google.com, met Google's sign-in page, and asked the person to sign in to an account this deployment had already connected. The connector existed. The Bot simply was not on it, and nothing said so. That is the half of the same problem the earlier fix did not reach: that one covered a Bot holding SOME of a vendor's tools and not the one it needed. A Bot holding none got an empty string. Every Bot is now told which vendors this deployment connects to, whether or not it holds them, and what to do about the ones it does not: say plainly that it has not been granted it, name it, and say an administrator can grant it on that connector. Not the browser, which for a vendor with a connector is not a second route to the same place: the connector exists so the vendor is reached as the person asking, and the container's browser is signed in as nobody. Read per request rather than held, because a connector added a minute ago has to count, and a store that cannot answer is treated as no connectors: a Bot that cannot be told loses a sentence, not a run. The computer card no longer reserves a screen-sized frame for a browser that has opened nothing. That put a placeholder the height of a browser window into the middle of a conversation, above an answer that never involved the browser at all. Nothing is loading there and nothing is coming, so there is no layout jump to protect against and no reason to take the room. Driven in Chrome, the exact case: General Assistant, no Drive grant, asked to open drive.google.com and name the first file. It opens nothing and answers "the Google Drive connector has not been granted to me in this deployment. An administrator can enable it on that connector."
davidmckayv
requested review from
MikeRyanDev,
guidovizoso and
tylerslaton
as code owners
August 22, 2026 15:35
Seven of the nine changes landing together carried no entry: the model refresh, this PR's own two, the declined-handover fix for the Bot in the box, the takeover flag, the always-available wheel, the lost first message, and the snapshot store guard. Written here because this one lands last, so the entry is complete rather than seven near-duplicates racing each other for the same section. Credited where the work was somebody else's.
…ector-is-not-granted-instead-of-browsing # Conflicts: # CHANGELOG.md
davidmckayv
deleted the
fix/a-bot-says-a-connector-is-not-granted-instead-of-browsing
branch
August 22, 2026 16:25
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two things, both from a screenshot of a real conversation.
Google Drive is a tool call, and the Bot went to the website
A Bot holding no grants was told nothing about connectors at all, so it treated a connected vendor as an ordinary website. Asked about Google Drive, the built-in Bot opened
drive.google.com, met Google's sign-in page, and asked the person to sign in to an account this deployment had already connected.The connector existed. The Bot simply was not on it, and nothing said so.
This is the half of the problem #150 did not reach. That one covered a Bot holding some of a vendor's tools and not the one it needed. A Bot holding none got an empty string from
grantedToolGuidanceand no guidance whatsoever.Every Bot is now told which vendors this deployment connects to, held or not, and what to do about the ones it does not hold:
Read per request rather than held, because a connector added a minute ago has to count. A store that cannot answer is treated as no connectors: a Bot that cannot be told loses a sentence, not a run.
The huge empty panel where a browser should be
The computer card always reserved a screen-sized frame, so a Bot that had opened nothing still rendered a placeholder the height of a browser window — in the middle of a conversation, above an answer that never involved the browser at all.
The frame is reserved to stop layout jumping while a screen loads. A browser that has opened nothing is the exception: nothing is loading and nothing is coming, so there is no jump to protect against and no reason to take the room. It is a line of text now.
Driven in Chrome, the exact case
General Assistant (no Drive grant), fresh channel:
Before: opened
drive.google.com, full-size empty computer panel, "Let me know if you would like me to prompt you to sign in."After: opens nothing, no computer card at all, and:
Tests
Two added:
The existing "says nothing at all when the Bot holds nothing" case still holds for a deployment with no connectors.
Full suite 1201 passing, lint, format, typecheck clean.