Repository navigation
fix(claude-remote): suppress resume-summary modal to stop operator wedge - #385
Merged
Merged
Conversation
The labs claude-remote operator device resumes a pinned session
(RESUME_SESSION_ID) on every (re)launch. Because the headless
--remote-control bridge has stdin=/dev/null, the interactive
'Resume from summary?' modal can never be answered: once the resumed
session crosses BOTH default gate thresholds (age > 70 min AND est.
tokens > 100k) startup blocks on the modal, the relay never connects
('Remote Control failed to connect: /login'), and the TUI wedges
silently (observed 2026-06-03, session stuck ~10h until a manual pod
restart).
Raise both resume thresholds so the modal never fires; --resume then
loads the full transcript silently and the operator keeps its memory.
Add CLAUDE_CODE_AUTO_COMPACT_WINDOW=140000 so the long-lived session
auto-compacts (summarises, thread preserved) at ~70% of the window
instead of choking near the model max. Mirrors the proven Mac-bridge
wrapper config.
Phase 1 (env-only, no image release). Phase 2 will add state-file
session rotation + retention prune + resumeReturnDismissed + a
startup-wedge backstop in entrypoint.sh.
|
Claude finished @mashkovd's task in 45s —— View job Review: Trivial Config Change — Approved ✓Reviewed Summary: Pure environment variable addition + explanatory comment. No YAML errors, no security concerns, no operational risks. Changes:
Assessment:
No P1/P2 findings, good to merge. |
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.
Phase 1 — env-only, no image release
The labs
claude-remoteoperator device resumes a pinned session (RESUME_SESSION_ID) on every (re)launch. The headless--remote-controlbridge hasstdin=/dev/null, so the interactive "Resume from summary?" modal can never be answered. Once the resumed session crosses BOTH default gate thresholds (age > 70 min AND est. tokens > 100k) startup blocks on the modal → relay never connects (Remote Control failed to connect: /login) → silent TUI wedge (observed 2026-06-03, session stuck ~10h until a manual pod restart). Merge logic kept working via thesteward-logscheduler ticks; only the interactive operator session wedged.Change (3 env vars on base-service)
CLAUDE_CODE_RESUME_THRESHOLD_MINUTES2000000000CLAUDE_CODE_RESUME_TOKEN_THRESHOLD2000000000CLAUDE_CODE_AUTO_COMPACT_WINDOW140000Resume then loads the full transcript silently → the operator keeps its memory, and the wedge becomes impossible. Mirrors the proven Mac-bridge wrapper config (Claude Code 2.1.150, confirmed running in-pod).
Scope
entrypoint.sh/ image change, no release.RESUME_SESSION_IDpin.Follow-up (Phase 2, separate release of mctl-claude-remote)
state-file session rotation (by 20MB transcript size) + retention prune (current + 3) + remove hard-pinned
RESUME_SESSION_ID+ persistentresumeReturnDismissed+ a startup-wedge backstop (detect modal-block at startup → fresh session + Telegram alert), robust against future Claude Code env-key renames on the auto-updating binary.🤖 Generated with Claude Code