fix(cli): generate new session ID in multiclaude claude when no history#334
Open
aronchick wants to merge 1 commit intodlorenc:mainfrom
Open
fix(cli): generate new session ID in multiclaude claude when no history#334aronchick wants to merge 1 commit intodlorenc:mainfrom
multiclaude claude when no history#334aronchick wants to merge 1 commit intodlorenc:mainfrom
Conversation
…tory When running `multiclaude claude` and no session history exists, the command now generates a new session ID instead of reusing the old one. This fixes "Session ID is already in use" errors that occur when Claude exits abnormally and leaves the session ID locked. Also adds missing trigger_refresh socket command documentation. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Contributor Author
| ✅ Merge Queue: READY TO MERGE
This PR is ready for maintainer merge. |
whitmo added a commit to whitmo/multiclaude that referenced this pull request Feb 28, 2026
whitmo added a commit to whitmo/multiclaude that referenced this pull request Feb 28, 2026
…nc#336, dlorenc#340, dlorenc#342 Add 659 lines of tests covering: - All 18 structured error constructors from PR dlorenc#340 (individual + bulk format test) - JSON CLI output edge cases from PR dlorenc#335 (empty/nested/all-internal subcommands) - Structured CLIError validation for workspace names from PR dlorenc#340 integration - Message routing edge cases from PR dlorenc#342 (no acked, mixed ack status) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This was referenced Feb 28, 2026
whitmo added a commit to whitmo/multiclaude that referenced this pull request Mar 1, 2026
Review findings for session ID fix (PR dlorenc#334) and error messages + process detection (PR dlorenc#336) from dlorenc/multiclaude. Both LGTM. One actionable finding: PR dlorenc#336 should handle EPERM from signal(0) to avoid starting duplicate instances. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2 tasks
whitmo added a commit to whitmo/multiclaude that referenced this pull request Mar 1, 2026
whitmo added a commit to whitmo/multiclaude that referenced this pull request Mar 1, 2026
…nc#336, dlorenc#340, dlorenc#342 Add 659 lines of tests covering: - All 18 structured error constructors from PR dlorenc#340 (individual + bulk format test) - JSON CLI output edge cases from PR dlorenc#335 (empty/nested/all-internal subcommands) - Structured CLIError validation for workspace names from PR dlorenc#340 integration - Message routing edge cases from PR dlorenc#342 (no acked, mixed ack status) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This was referenced Mar 1, 2026
3 tasks
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
multiclaude claudetrigger_refreshsocket command documentation (fixes pre-commit check)Problem
When running
multiclaude claudeand Claude had previously exited abnormally (or the session was never used), the command would fail with:This happened because the code reused the old session ID even when there was no session history to resume.
Solution
When
hasHistoryis false (no session file or empty), generate a new UUID for the session ID and update the agent state before starting Claude.Test plan
go build ./cmd/multiclaude- builds successfullygo test ./...- all tests passmake pre-commit- all checks pass🤖 Generated with Claude Code