Repository navigation
feat(bin): one-command cmux launchers for Claude Code sessions - #49
Closed
elitecoder wants to merge 8 commits into
Closed
elitecoder wants to merge 8 commits into
elitecoder wants to merge 8 commits into
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Prompt files only, FFP env switches only, auto-mode alias required, guarded cmux paste, no blind Enter, UUID surfaces, self-target refused. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… fixes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… a missing transcript Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
|
Closing in favor of the skill-only fix: plain single cmux commands work without new scripts or allow rules. |
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.
Summary
In auto mode, the classifier kept blocking the orchestrator when it started or messaged Claude Code sessions through cmux, mostly as
[Create Unsafe Agents]. The skill told launches to add--dangerously-skip-permissions, so the classifier treated every child as unchecked. Theclaudealias actually runs--permission-mode auto.This PR adds two one-command launchers that a narrow
permissions.allowrule can approve, and points thespawn-claude-workspaceskill at them.bin/cmux-claude-spawn.sh [--env FFP_CHANNEL=<v>|FFP_EXP_<ID>=<v>]... <cwd> <title> <prompt-file>starts theclaudealias in a new unfocused cmux workspace and has it read one prompt file. It prints<workspace-ref> <surface-uuid> <transcript>.bin/cmux-claude-send.sh <surface-uuid> <transcript> <prompt-file>has a running session read one prompt file and printsdeliveredonce the transcript shows it.Guards:
~/.assistant/spawn-prompts/. The message is alwaysRead <file> and follow it.--envtakes onlyFFP_CHANNELandFFP_EXP_*with[a-z0-9]+values, passed throughcmux new-workspace --env.claudealias without--permission-mode autoor with--dangerously-skip-permissions.cmux paste --submit, which refuses over a draft or an open dialog."type":"user"and"operation":"enqueue"lines (a message queued to a busy session), neverlast-promptrecords.Rules to add by hand in
~/.claude/settings.jsonAdd the deny rules before or with the allow rules, so the scripts can't be rewritten without review and then run under the allow rule.
Testing
tests/test_cmux_claude_launcher.py: 24 tests against a fakecmuxthat writes transcripts the way Claude Code does, including queued messages andlast-promptrecords. All pass.--submit.🤖 Generated with Claude Code