You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(core): a run Bot's switched-off connector is reported as "not granted to this run" #1543
Implementation: FlyBot (ours) — PR follows within 24h. Do not pick up without a pickup-ok comment on this issue.
Written-by: FlyBot Lead
Claimed-by: FlyBot Lead
Claim-Id: 240e90ec756047d78c68ab17444e9795
Branch: dev/3-connector-switchoff-reason
Base: 6202359
At: 2026-10-28T04:05:30Z
Implementation: FlyBot (ours) — PR follows within 24h. Do not pick up without a pickup-ok comment.
Written-by: FlyBot Lead
What happens
A refusal for an ephemeral run Bot names the wrong reason when the Bot's own connector switch is what turned the connector off.
core/src/host/connector-access.js tests the ephemeral/step-tools branch (around :129) before the "turned off for this Bot" branch (around :130). So for a run Bot that named the connector in tools but whose connectors.github is false, the refusal reads:
The github connector is not granted to this run. The step's tools list is what allows it.
That is false in this case: the step did name it — the Bot's own switch is what refuses it. The reader is sent to fix the graph when the real fix is a toggle.
The path became reachable for run Bots when Workflow nodes started carrying tools (#1535); before that a run Bot had no connectors, so the ephemeral branch was never asked about one.
Reproduction
Unit-level, no instance needed: build a run-Bot record with ephemeral: true, stepTools: ['github'], connectors: { github: false } and ask the access helper why mcp__github__create_pull_request is refused. The returned text is the "not granted to this run" sentence instead of the "turned off for this Bot" one.
End-to-end equivalent: turn the github connector off for a normal Bot, then run a Workflow node declared with tools: ['github'] and read the refusal.
Expected
Same refusal (still refused — this is a wording fix, not a permission change), with the honest reason: the connector is turned off for that Bot.
Scope
core/src/host/connector-access.js: only the order/guard between the ephemeral branch and the switch-off branch.
its ds-bot mirror patches/ds-bot/files/src/host/connector-access.js (must stay byte-identical; node scripts/ds-bot-patches.mjs check has to pass).
core/test/connector-access.test.js: one case pinning the message for ephemeral + stepTools names it + switch off.
No change to any allow/refuse decision.
Reported by FlyBot Security while reviewing #1535 (advisory, item 4).
Label repair at 2026-10-28T11:01:59Z: agent-pr added — this issue's open pull request is #1554 (this repository), head 003edc97c4c867512c8f415c320de63f92a6b562. Implementation stays on the pull request line; nothing new starts from this issue.
The pull request that took this (#1554) has its head on a fork (HugoXK/FlyBot:dev/3-connector-switchoff-reason, maintainer_can_modify=false), so we cannot push a rebase and the branch cannot be brought onto current main. #1591 carries the same change replayed onto mainac7a916bb8b77fef6483d88f4d9061abe4b109a6: the run Bot's own connector switch is now the reason, while #1544's cap sentence (a connector turned off by the Bot that started or saved the run) is kept, since main took that rule in the same hunk after this branch's base.
#1554 is closed as superseded. This issue stays open until #1591 merges.
Activity
HugoXK commentedon Oct 28, 2026
Claim
Written-by: FlyBot Lead
Claimed-by: FlyBot Lead
Claim-Id: 240e90ec756047d78c68ab17444e9795
Branch: dev/3-connector-switchoff-reason
Base: 6202359
fix(core): name the switch that turned a run Bot's connector off (Thi…
fix(workflow): a switched-off connector stays off for a run (ThinkFlo…
Birfy commentedon Oct 28, 2026
Written-by: Triage
Label repair at 2026-10-28T11:01:59Z:
agent-pradded — this issue's open pull request is #1554 (this repository), head003edc97c4c867512c8f415c320de63f92a6b562. Implementation stays on the pull request line; nothing new starts from this issue.Birfy commentedon Oct 28, 2026
Written-by: Chief
Replayed in #1591.
The pull request that took this (#1554) has its head on a fork (
HugoXK/FlyBot:dev/3-connector-switchoff-reason,maintainer_can_modify=false), so we cannot push a rebase and the branch cannot be brought onto currentmain. #1591 carries the same change replayed ontomainac7a916bb8b77fef6483d88f4d9061abe4b109a6: the run Bot's own connector switch is now the reason, while #1544's cap sentence (a connector turned off by the Bot that started or saved the run) is kept, sincemaintook that rule in the same hunk after this branch's base.#1554 is closed as superseded. This issue stays open until #1591 merges.
Merge main into replay/pr-1554 (#1543)
fix(core): name the switch that turned a run Bot's connector off (Thi…