Repository navigation
Agent pane: a prompt or chat too large to send is never retried unchanged - #28778
Conversation
…s never retried unchanged Red on base: the failed card offers Retry and names no attachment, and the handshake has no way to tell the refusal apart. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-0fec927bf7d7f6f85883
…unchanged Leo, 2026-10-31: "this is completely hardlocked bc of message size". acpmux refuses a message past rpc::MAX_MESSAGE_BYTES with reason message.too_large. Asking again gets the same refusal, so: - A failed send for that reason (sendCause too-large) says which attachment takes the most of the prompt and to take it out with Edit or send it on its own; its card offers Edit, Remove and Details, not Retry. - A chat open (the pane's handshake) refused for that reason says so in plain words (host.tooLarge) at once, and the pane stops retrying on its own; the line's Retry still asks. acpmux from #28754 no longer refuses an open that way. Gallery: transcript failed-send-too-large, agent-pane.host-error too-large. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-0fec927bf7d7f6f85883
Bugbot needs on-demand usage enabledBugbot 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. |
|
Found 2 test failures on Blacksmith runners: Failures
|
…u either Astra review of 47f042f: messageMenuTarget gave every failed prompt a retryRowId, so the native context menu still offered Retry on a message.too_large row and resent it unchanged. The menu now offers it only where Retry helps, and chat.retryPrompt (retryPrompts) leaves such a row out whatever path calls it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-0fec927bf7d7f6f85883
…ge-too-large-copy
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Gallery before/after for
States
Pick other states with a web and size checks: green Shipped in:
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/41185290623 at ea29e41 failed: cmux-next checks (god files, concurrency, crash safety, l10n). |
|
Review (codex gpt-6-astra high fast, review-router): BLOCK at 3b903c7
Visual: The after captures have a clean layout in both themes, with no repeated controls or overflow. The 360px host message is intentionally ellipsized while keeping Retry visible. The captures match the PR's claims: oversized sends offer Edit/Remove/Details without Retry, and oversized chats stop automatic retries. |
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Leo, 2026-10-31: "this is completely hardlocked bc of message size". The pane showed "message too large to send: 16907300 bytes, the limit is 15728640" with "cmux tries again on its own" and Retry. A refusal for size is the same at every ask, so the pane retried forever.
acpmux refuses a message past
rpc::MAX_MESSAGE_BYTESwithreason: "message.too_large". With this PR the pane never asks again unchanged for that reason:sendCause→too-large): one sentence that names the attachment taking the most of the prompt and says to take it out with Edit or send it on its own (prompt.failure.tooLargeFile;prompt.failure.tooLargewhen there is no attachment to name, such as a long paste). The card offers Edit, Remove and Details, not Retry, and neither does the message's context menu;chat.retryPromptleaves such a row out from any path. The byte count stays under Details.connectHost): refused for that reason, it says "This chat is too large to open. Update acpmux, then Retry." at once, and the pane stops retrying on its own. The line's Retry still asks. acpmux: a chat whose records together pass one message still opens (attach reply fits) #28754 makes acpmux never refuse an open that way; this covers a daemon from before it (a peer, or an older app).Together with #28754 (the daemon side), a chat with large messages opens, and a prompt too large to send says what to do instead of wedging.
Screenshots
Gallery: agent-pane.transcript/failed-send-too-large, agent-pane.host-error/too-large, agent-pane.transcript/prompt-delivery
The gallery advisory renders these before and after (light and dark) in this PR's status comment.
Tests
Red first (
8c61092cdba, tests only), then the fix:bun test src/agent-session/acpmux/hostRetry.test.ts src/agent-session/acpmux/conversation/PromptDelivery.test.tsxa handshake refused as message.too_large…: nohostRefusedTooLarge;a prompt too large to send names its largest attachment…: generic "Not sent" sentence and a Retry button)877aeb2(after the review's menu finding): 17 pass, 0 fail withtest/message-more-button.test.tsxReview (codex gpt-6-astra): SHIP at 877aeb2 (its first pass at 47f042f blocked on the context menu's Retry, fixed in 877aeb2).
Visual review (codex gpt-6-astra): SHIP at 877aeb2. It opened the four after captures from the gallery advisory run (failed-send-too-large and host-error/too-large, dark and light). I viewed the after images too: the failed send names the attachment and offers Edit, Remove and Details with no Retry; at 360 px the host line cuts after "Update acpmux," beside its Retry button, with the whole line in its tooltip, like the other host lines.
Reds at 877aeb2:
cmux-next checksfails only on its Tier routing step, intests/test_cmux_next_base_tier.py(test_a_feat_cmux_next_push_defers_the_base_tier,test_a_push_whose_scheme_compile_is_the_dev_landing_build_keeps_it,test_coalescing_off_or_another_branch_runs_the_base_tier_on_the_push). The same three error the same way at the base tip d20e58e, and this PR changes onlywebviews/. The gallery advisory'scommentandmark-stalesteps failed on GitHub's installation rate limit (HTTP 403), aftercapturepassed.Observed / Not run
tsc --noEmitclean on the changed files;check-xcstrings-keys.pypasses;vp fmt --checkclean on the changed files.Localization: 3 new keys (
prompt.failure.tooLarge,prompt.failure.tooLargeFile,host.tooLarge) in all 21 agent-pane locales, non-English marked needs_review like the catalog's others.Changelog
Fixed: a message too large to send says which attachment to take out instead of retrying forever, and a chat too large to open no longer retries on its own.
Agent session: agent session
🤖 Generated with Claude Code