Skip to content

Cloud start: a start refused on this Mac says why, and marks no step failed - #34406

Merged
teamleaderleo merged 1 commit into
feat-cmux-nextfrom
claude/cloud-start-refusal-reason
Nov 4, 2026
Merged

teamleaderleo merged 1 commit into
feat-cmux-nextfrom
claude/cloud-start-refusal-reason

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 4, 2026 •

Copy link
Copy Markdown
Collaborator

Leo, on the "The app refused the agent connection." card under a failed "Set up a Cloud machine" step: "what happened here on this build?"

What happened

A Cloud first send from a New Tab chat whose folder chip named a folder that was not one of the pane's folders. AgentPaneHandOff.cloud (folderInScope) correctly refused it with transport.path_outside_roots before anything reached Cloud, but:

  • the reply's message is the generic transportFailedMessage ("The app refused the agent connection."), which cloudStartEnded showed as is;
  • startupChecklist marks "machine" failed whenever no step began, so the card blamed "Set up a Cloud machine";
  • nothing was logged under app.cloud (CloudStartChat never ran), so the log showed no Cloud failure at all.

Change

  • cloudStartEnded: a transport.* code is worded by its code (cloudRefusalText): transport.path_outside_roots reads "This folder isn't open in this tab; pick it to send it to Cloud." (new cloudStartup.folderNotOpen, 21 locales), any other through transportErrors.errorMessage. It sets refusedHere.
  • startupChecklist: a refusedHere start marks no step failed.
  • AgentPaneHandOff.cloud logs the pane's own refusals (transport.*, cloud_attachments, unsupported) under app.cloud.

folderInScope is not widened. Why the chip's folder was not a root is the follow-up PR (a New Tab recent project nobody clicked is never granted for Cloud).

Small, contained fix (light path): one subagent review, tests in cloudStartProgress.test.ts and CloudStartView.test.tsx.

Risk: low. Only the failed Cloud start card's words and step marks change, plus one log line.

Agent session: agent session

🤖 Generated with Claude Code


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Makes a Cloud start refused on this Mac show why it was refused, stop blaming the "Set up a Cloud machine" step, and log the refusal under app.cloud.

  • A transport.* refusal now shows reason-specific wording instead of the generic "The app refused the agent connection."; a folder outside the tab reads "This folder isn't open in this tab; pick it to send it to Cloud."
  • A refusal made by the pane before reaching Cloud marks no checklist step failed.
  • The pane's own refusals are logged under app.cloud.

Written for commit fd36da4. Summary will update on new commits.

View guided diff Turn on auto-fix

…failed

A Cloud start the pane refused before it reached Cloud (its folder is not
one of the tab's, a Send without a gesture) showed "The app refused the
agent connection." under a failed "Set up a Cloud machine" step, and
logged nothing under app.cloud.

- cloudStartEnded words a transport.* refusal by its code: a folder
  outside the tab's reads "This folder isn't open in this tab; pick it to
  send it to Cloud.", any other through transportErrors.errorMessage.
- Such a refusal sets refusedHere, and the checklist marks no step failed.
- AgentPaneHandOff.cloud logs the pane's own refusals under app.cloud.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5
@teamleaderleo teamleaderleo added the leo-named-fix An obvious fix to something Leo named: lands on push, review runs in parallel label Nov 4, 2026
@cursor

cursor Bot commented Nov 4, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot uses usage-based billing for this team and requires on-demand usage to be enabled.

A team admin can enable on-demand usage in the Cursor dashboard.

@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review fd36da4: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr34406 -f ref=claude/cloud-start-refusal-reason -f platform=macos -f backend_mode=local

Gallery before/after for fd36da4: 16 states rendered, 17 images differ, 1290 more touched states not rendered. Images are in the run's artifact, not on this public PR; the independent review of this head reads them on its own, so the PR needs no hand-made screenshots of these states.

gh run download 41746647626 -R manaflow-ai/cmux -n gallery-advisory-34406-fd36da45c27d16de60c618d949d73feee4f0fdf4 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.cloud-start/sent Apple System Colors changed 0.0165% own CloudStartView.tsx
agent-pane.cloud-start/sent Apple System Colors Light changed 0.0148% own CloudStartView.tsx
agent-pane.cloud-start/machine Apple System Colors changed 0.0387% own CloudStartView.tsx
agent-pane.cloud-start/machine Apple System Colors Light changed 0.0308% own CloudStartView.tsx
agent-pane.cloud-start/copying Apple System Colors changed 0.0202% own CloudStartView.tsx
agent-pane.cloud-start/copying Apple System Colors Light unchanged 0% own CloudStartView.tsx
agent-pane.cloud-start/opening Apple System Colors Light changed 0.0406% own CloudStartView.tsx
agent-pane.cloud-start/opening Apple System Colors changed 0.0233% own CloudStartView.tsx
agent-pane.cloud-start/failed Apple System Colors Light unchanged 0% own CloudStartView.tsx
agent-pane.cloud-start/failed Apple System Colors unchanged 0% own CloudStartView.tsx
agent-pane.cloud-start/checklist-machine Apple System Colors Light changed 0.015% own CloudStartView.tsx
agent-pane.cloud-start/checklist-machine Apple System Colors changed 0.0129% own CloudStartView.tsx
agent-pane.cloud-start/checklist-clone Apple System Colors Light changed 0.0398% own CloudStartView.tsx
agent-pane.cloud-start/checklist-clone Apple System Colors changed 0.0354% own CloudStartView.tsx
agent-pane.cloud-start/checklist-setup-cached Apple System Colors Light changed 0.0148% own CloudStartView.tsx
agent-pane.cloud-start/checklist-setup-cached Apple System Colors changed 0.0142% own CloudStartView.tsx
agent-pane.url-chip/globe Apple System Colors Light unchanged 0% names Localizable.xcstrings
agent-pane.url-chip/globe Apple System Colors unchanged 0% names Localizable.xcstrings
agent-pane.url-chip/cached-favicon Apple System Colors Light unchanged 0% names Localizable.xcstrings
agent-pane.url-chip/cached-favicon Apple System Colors unchanged 0% names Localizable.xcstrings
agent-pane.url-chip/token-url Apple System Colors Light unchanged 0% names Localizable.xcstrings
agent-pane.url-chip/token-url Apple System Colors unchanged 0% names Localizable.xcstrings
agent-pane.url-chip/pull-request-polished Apple System Colors Light changed 0% names Localizable.xcstrings
agent-pane.url-chip/pull-request-polished Apple System Colors unchanged 0% names Localizable.xcstrings
agent-pane.url-chip/pull-request-polished-draft Apple System Colors Light changed 0% names Localizable.xcstrings
agent-pane.url-chip/pull-request-polished-draft Apple System Colors unchanged 0% names Localizable.xcstrings
agent-pane.url-chip/pull-request-polished-merged Apple System Colors changed 0% names Localizable.xcstrings
agent-pane.url-chip/pull-request-polished-merged Apple System Colors Light unchanged 0% names Localizable.xcstrings
agent-pane.url-chip/pull-request-polished-long-title Apple System Colors Light unchanged 0% names Localizable.xcstrings
agent-pane.url-chip/pull-request-polished-long-title Apple System Colors unchanged 0% names Localizable.xcstrings
agent-pane.url-chip/pull-request-theme-colors Apple System Colors Light changed 0% names Localizable.xcstrings
agent-pane.url-chip/pull-request-theme-colors Apple System Colors unchanged 0% names Localizable.xcstrings

Pick other states with a Gallery: entry.id, entry.id/variant line in the PR body.

Not verified: macOS jobs did not run: compile and app tests were skipped on fd36da45c2; ci-status is green without them.

CI passes on fd36da45c2 (run 41746647688 attempt 1).
macOS jobs did not run: compile and app tests were skipped: Fast static checks skipped (the macos job needs both to succeed). Re-run CI once they pass, before merging.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

Shipped in:

@teamleaderleo
teamleaderleo merged commit d7d34e6 into feat-cmux-next Nov 4, 2026
120 of 139 checks passed
@teamleaderleo
teamleaderleo deleted the claude/cloud-start-refusal-reason branch November 4, 2026 00:25
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent claude-opus-5-5 medium): SHIP at fd36da4

Checked the Swift logging (isolation, import os), the TS narrowing on CloudStartAnswer, the import graph, the new xcstrings entry, the tests, and that a real Cloud failure keeps the host's words and its failed step.

Follow-ups (fixed forward in the follow-up PR on the same area):

  • Web refusedHere covers only transport.*; Swift also counts cloud_attachments and unsupported. An attachment refusal still marks "Set up a Cloud machine" failed.
  • unavailable_now and the sandboxRuns refusal are not logged under app.cloud.
  • No Swift unit test for AgentPaneHandOff.refusedHere.

@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Nov 4, 2026
@blacksmith-sh

blacksmith-sh Bot commented Nov 4, 2026

Copy link
Copy Markdown

Found 36 test failures on Blacksmith runners:

Failures

Test View Logs
main.DeveloperIdAppTests.test_download_prints_the_active_profile_only/
test_download_prints_the_active_profile_only
View Logs
stubs: /System/Library/Frameworks/Security.framework/Versions/A/Security has no stub/
Security has no stub
View Logs
stubs: CoreFoundation.tbd: install-name /System/Library/Frameworks/
CoreFoundation.framework/Versions/A/CoreFoundation, missing 1: ['_CFRetain']/
CoreFoundation, missing 1: ['_CFRetain']
View Logs
stubs: CoreFoundation.tbd: install-name /System/Library/Frameworks/
CoreFoundation.framework/Versions/A/CoreFoundation, missing 1: ['_log2']/
CoreFoundation, missing 1: ['_log2']
View Logs
test_a_build_host_runs_every_piece_niced_and_capped (main.WebLintPrePushTests.test_
a_build_host_runs_every_piece_niced_and_capped)/
test_a_build_host_runs_every_piece_niced_and_capped (main.WebLintPrePushTests.test_
a_build_host_runs_every_piece_niced_and_capped)
View Logs
test_a_clean_pushed_commit_passes_whatever_the_working_tree_holds (main.WebLintPreP
ushTests.test_a_clean_pushed_commit_passes_whatever_the_working_tree_holds)/
test_a_clean_pushed_commit_passes_whatever_the_working_tree_holds (main.WebLintPreP
ushTests.test_a_clean_pushed_commit_passes_whatever_the_working_tree_holds)
View Logs
test_a_clean_swift_only_push_runs_only_the_pieces_that_read_it (main.WebLintPrePush
Tests.test_a_clean_swift_only_push_runs_only_the_pieces_that_read_it)/
test_a_clean_swift_only_push_runs_only_the_pieces_that_read_it (main.WebLintPrePush
Tests.test_a_clean_swift_only_push_runs_only_the_pieces_that_read_it)
View Logs
test_a_clone_with_no_reviewed_remote_lints_no_check_code (main.WebLintPrePushTests.
test_a_clone_with_no_reviewed_remote_lints_no_check_code)/
test_a_clone_with_no_reviewed_remote_lints_no_check_code (main.WebLintPrePushTests.
test_a_clone_with_no_reviewed_remote_lints_no_check_code)
View Logs
test_a_dry_run_lists_exactly_what_a_run_spawns (main.WebLintPrePushTests.test_a_dry
_run_lists_exactly_what_a_run_spawns)/
test_a_dry_run_lists_exactly_what_a_run_spawns (main.WebLintPrePushTests.test_a_dry
_run_lists_exactly_what_a_run_spawns)
View Logs
test_a_file_in_a_folder_above_a_package_is_check_code (main.WebLintPrePushTests.tes
t_a_file_in_a_folder_above_a_package_is_check_code)/
test_a_file_in_a_folder_above_a_package_is_check_code (main.WebLintPrePushTests.tes
t_a_file_in_a_folder_above_a_package_is_check_code)
View Logs

...and 26 more test failures. View all on Blacksmith

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

teamleaderleo added a commit that referenced this pull request Nov 4, 2026
…ree (#34415)

The New Tab folder chip can name a recent project nobody clicked
(NewTabScreen `recent ?? seeded`), and a Cloud send never granted it, so
AgentPaneCloudStart.folderInScope refused it as outside the tab's folders.

- New Tab: picking Cloud in Run as grants the chip's folder through
  onProjectPicked (workspace.useFolder), on that click.
- Composer: its Run as Cloud row grants the folder sendToCloud names.
- folderInScope is not widened; a Cloud default the person never picked
  still gets the host's refusal, now worded "pick it" (#34406).

Follow-ups from the #34406 review:
- Web refusedHere uses Swift's list (cloud_attachments, unsupported,
  unavailable_now, sandbox_busy, sandbox_spent), so an attachment refusal
  no longer marks "Set up a Cloud machine" failed.
- unavailable_now and the sandboxRuns refusal are logged under app.cloud.
- A Swift test for AgentPaneHandOff.refusedHere.


Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo added a commit that referenced this pull request Nov 4, 2026
…folder's grant (#34592)

Fix-forward of #34427's review follow-up. The Cloud send waited on the last
Cloud pick's workspace.useFolder promise with no time limit, so a grant that
never answered kept the composer locked. Grants are now kept by folder
(cloudFolderGrants), a start waits only for the grant of the folder it sends,
and at most CLOUD_FOLDER_GRANT_WAIT_MS (3 s); past that it sends anyway and
the host's worded refusal (#34406) covers a folder still not granted.


Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

This branch was previously deployed

1 inactive deployment
ci-routing-agent — fd36da45 Deployed Nov 4, 2026 by teamleaderleo via namespace autofix #13690
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

leo-named-fix An obvious fix to something Leo named: lands on push, review runs in parallel risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant