Skip to content

Comments

fix: Beta mode status validation and EditorPrefs Manager improvements#671

Merged
dsarno merged 3 commits intoCoplayDev:betafrom
dsarno:fix/claude-code-multi-scope-cleanup-v2
Feb 3, 2026
Merged

fix: Beta mode status validation and EditorPrefs Manager improvements#671
dsarno merged 3 commits intoCoplayDev:betafrom
dsarno:fix/claude-code-multi-scope-cleanup-v2

Conversation

@dsarno
Copy link
Collaborator

@dsarno dsarno commented Feb 3, 2026

Description

Follow-up fixes after #667 merge addressing beta mode status validation and EditorPrefs Manager UX.

Changes

Beta mode status validation fix

  • Fix "Incorrect Path" status shown when beta mode is enabled
  • Status check now uses same package source logic as registration (mcpforunityserver>=0.0.0a0 for beta)
  • Fixed both main-thread (CheckStatus) and background-thread (McpClientConfigSection) code paths

Claude Code registration fix

  • Use GetBetaServerFromArgs() for Claude Code CLI registration to respect beta mode setting

EditorPrefs Manager improvements

  • Show "Unset. Default: [value]" for EditorPrefs that haven't been explicitly set
  • Disable value field and save button for unset items (grayed out at 60% opacity)
  • Fix search filter bug where reloading window showed filtered results with empty search field

Testing

  • Verified Claude Code shows "Configured" status with beta mode enabled
  • Verified Claude Desktop config is correct for beta mode
  • Verified EditorPrefs Manager correctly distinguishes unset vs explicit values

Related Issues

Follow-up to #667 (fixes #664)

Summary by Sourcery

Align Claude CLI MCP server validation and registration with beta mode settings and improve EditorPrefs Manager UX for unset preferences.

Bug Fixes:

  • Ensure MCP server status validation uses the same beta-aware package source logic as registration, preventing incorrect path errors when beta mode is enabled.
  • Make Claude Code CLI registration and manual configuration snippets respect beta mode and explicit Git URL overrides.
  • Fix EditorPrefs Manager search filter persisting across window reloads, which caused stale filtered results.

Enhancements:

  • Indicate unset EditorPrefs entries with a descriptive default value label and disable editing controls for those unset items to clarify effective configuration.

Summary by CodeRabbit

  • New Features

    • Enhanced MCP client configuration with beta server support
    • Preferences UI now displays default values for unset items
  • Improvements

    • Improved package source validation and detection
    • Better Claude CLI status checking with updated configuration logic
    • Disabled editing of unset preference values for clarity

dsarno and others added 3 commits February 2, 2026 22:35
Claude Code registration was still using gitUrl directly instead of
GetBetaServerFromArgs(), meaning the beta server toggle had no effect
on registration. Now uses GetBetaServerFromArgs(quoteFromPath: true)
to properly generate --prerelease args for beta users.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Show "Unset. Default: [value]" for EditorPrefs that haven't been explicitly set
- Disable value field and save button for unset items (grayed out at 60% opacity)
- Fix search filter bug where reloading window showed filtered results with empty search field

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The version validation was comparing the registered package source
(mcpforunityserver>=0.0.0a0 for beta) against the exact package version
(mcpforunityserver==9.4.0-beta.1), causing false "Incorrect Path" status.

Now both CheckStatus paths (main thread and background thread) use the
same logic that considers:
- Explicit GitUrlOverride
- UseBetaServer setting (with dynamic default for prerelease packages)
- Standard pinned version as fallback

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@sourcery-ai
Copy link
Contributor

sourcery-ai bot commented Feb 3, 2026

Reviewer's Guide

Aligns MCP server registration, status validation, and manual snippets with beta mode / override-aware package source resolution, and improves the EditorPrefs Manager UX for unset prefs and search filtering.

Sequence diagram for beta-aware Claude CLI registration

sequenceDiagram
    actor UnityUser
    participant McpClientConfigSection
    participant McpClientConfiguratorBase
    participant AssetPathUtility
    participant EditorPrefs
    participant ClaudeCli

    UnityUser->>McpClientConfigSection: Click ConfigureClaudeCli
    McpClientConfigSection->>AssetPathUtility: GetUvxCommandParts()
    AssetPathUtility-->>McpClientConfigSection: uvxPath, _, packageName
    McpClientConfigSection->>AssetPathUtility: GetBetaServerFromArgs(quoteFromPath true)
    AssetPathUtility-->>McpClientConfigSection: fromArgs
    McpClientConfigSection->>EditorPrefs: GetString(ApiKey, "")
    EditorPrefs-->>McpClientConfigSection: apiKey
    McpClientConfigSection->>McpClientConfiguratorBase: ConfigureWithCapturedValues(projectDir, claudePath, pathPrepend, useHttpTransport, httpUrl, uvxPath, fromArgs, packageName, shouldForceRefresh, apiKey, serverTransport)

    McpClientConfiguratorBase->>McpClientConfiguratorBase: RegisterWithCapturedValues(..., uvxPath, fromArgs, packageName, shouldForceRefresh, ...)
    McpClientConfiguratorBase->>McpClientConfiguratorBase: Build args
    Note over McpClientConfiguratorBase: args = "mcp add --scope local --transport stdio UnityMCP -- \"uvxPath\" devFlags fromArgs packageName"
    McpClientConfiguratorBase->>ClaudeCli: RunProcess(claudePath, args)
    ClaudeCli-->>McpClientConfiguratorBase: ExitCode, Output
    McpClientConfiguratorBase-->>McpClientConfigSection: Result
    McpClientConfigSection-->>UnityUser: Show success or error
Loading

Sequence diagram for beta-aware MCP status validation

sequenceDiagram
    participant McpClientConfigSection
    participant McpClientConfiguratorBase
    participant EditorPrefs
    participant AssetPathUtility
    participant ClaudeCli

    McpClientConfigSection->>McpClientConfiguratorBase: CheckStatus(attemptAutoRewrite)

    rect rgb(230,230,255)
        McpClientConfiguratorBase->>McpClientConfiguratorBase: GetExpectedPackageSourceForValidation()
        McpClientConfiguratorBase->>EditorPrefs: GetString(GitUrlOverride, "")
        EditorPrefs-->>McpClientConfiguratorBase: gitUrlOverride
        alt gitUrlOverride is not empty
            McpClientConfiguratorBase-->>McpClientConfiguratorBase: Use gitUrlOverride
        else
            McpClientConfiguratorBase->>EditorPrefs: HasKey(UseBetaServer)
            EditorPrefs-->>McpClientConfiguratorBase: hasPrefKey
            alt hasPrefKey
                McpClientConfiguratorBase->>EditorPrefs: GetBool(UseBetaServer, false)
                EditorPrefs-->>McpClientConfiguratorBase: useBetaServer
            else
                McpClientConfiguratorBase->>AssetPathUtility: IsPreReleaseVersion()
                AssetPathUtility-->>McpClientConfiguratorBase: useBetaServer
            end
            alt useBetaServer
                McpClientConfiguratorBase-->>McpClientConfiguratorBase: expectedPackageSource = "mcpforunityserver>=0.0.0a0"
            else
                McpClientConfiguratorBase->>AssetPathUtility: GetMcpServerPackageSource()
                AssetPathUtility-->>McpClientConfiguratorBase: expectedPackageSource
            end
        end
    end

    McpClientConfiguratorBase->>ClaudeCli: RunStatusCheck(expectedPackageSource)
    ClaudeCli-->>McpClientConfiguratorBase: ParsedStatus
    McpClientConfiguratorBase-->>McpClientConfigSection: McpStatus
    McpClientConfigSection-->>McpClientConfigSection: ApplyStatusToUi()
Loading

Class diagram for updated configurator and EditorPrefs item structures

classDiagram
    class McpClientConfiguratorBase {
        +CheckStatus(attemptAutoRewrite bool) McpStatus
        +Configure()
        +ConfigureWithCapturedValues(projectDir string, claudePath string, pathPrepend string, useHttpTransport bool, httpUrl string, uvxPath string, fromArgs string, packageName string, shouldForceRefresh bool, apiKey string, serverTransport ConfiguredTransport) void
        -RegisterWithCapturedValues(projectDir string, claudePath string, pathPrepend string, useHttpTransport bool, httpUrl string, uvxPath string, fromArgs string, packageName string, shouldForceRefresh bool, apiKey string, serverTransport ConfiguredTransport) void
        -Register() void
        +GetManualSnippet() string
        -GetExpectedPackageSourceForValidation() string
    }

    class McpClientConfigSection {
        -ConfigureClaudeCliAsync(client IMcpClientConfigurator) void
        -RefreshClaudeCliStatus(client IMcpClientConfigurator, forceImmediate bool) void
        -ApplyStatusToUi(client IMcpClientConfigurator, showChecking bool) void
        -GetExpectedPackageSourceForBetaMode() string
    }

    class EditorPrefsWindow {
        -searchFilter string
        +CreateGUI() void
        -CreateEditorPrefItem(key string) EditorPrefItem
        -CreateItemUI(item EditorPrefItem) VisualElement
    }

    class EditorPrefItem {
        +Key string
        +Value string
        +Type EditorPrefType
        +IsKnown bool
        +IsUnset bool
    }

    class AssetPathUtility {
        +GetUvxCommandParts() UvxParts
        +GetBetaServerFromArgs(quoteFromPath bool) string
        +ShouldForceUvxRefresh() bool
        +IsPreReleaseVersion() bool
        +GetMcpServerPackageSource() string
    }

    class EditorPrefs {
        +GetString(key string, defaultValue string) string
        +GetBool(key string, defaultValue bool) bool
        +GetInt(key string, defaultValue int) int
        +GetFloat(key string, defaultValue float) float
        +HasKey(key string) bool
    }

    McpClientConfigSection --> McpClientConfiguratorBase : uses
    McpClientConfiguratorBase --> AssetPathUtility : uses
    McpClientConfigSection --> AssetPathUtility : uses
    McpClientConfiguratorBase --> EditorPrefs : reads
    McpClientConfigSection --> EditorPrefs : reads
    EditorPrefsWindow --> EditorPrefItem : creates
    EditorPrefsWindow --> EditorPrefs : reads
    EditorPrefItem --> EditorPrefType : uses enum
Loading

Flow diagram for beta-aware package source resolution logic

flowchart TD
    A[Start package source resolution] --> B{GitUrlOverride set in EditorPrefs}
    B -->|Yes| C[Return GitUrlOverride]
    B -->|No| D{EditorPrefs has key UseBetaServer}
    D -->|Yes| E[Read UseBetaServer from EditorPrefs]
    D -->|No| F[Compute useBetaServer via AssetPathUtility.IsPreReleaseVersion]
    E --> G{useBetaServer}
    F --> G
    G -->|true| H[Return mcpforunityserver>=0.0.0a0]
    G -->|false| I[Return AssetPathUtility.GetMcpServerPackageSource]
    C --> J[Expected package source for validation or status]
    H --> J
    I --> J
    J --> K[Use expected package source in
status check, background refresh,
and manual CLI snippet]
    K --> L[End]
Loading

File-Level Changes

Change Details Files
Make MCP server status validation use the same beta/override-aware package source logic as registration on both main and background threads.
  • Replace direct AssetPathUtility.GetMcpServerPackageSource() usage with helper methods that compute expected package source considering EditorPrefs overrides, beta mode flag, and pre-release default behavior.
  • Add GetExpectedPackageSourceForValidation() in the configurator to derive the --from value based on GitUrlOverride, UseBetaServer, and package version.
  • Add GetExpectedPackageSourceForBetaMode() in the client config section to mirror the same logic when checking status in a background task.
MCPForUnity/Editor/Clients/McpClientConfiguratorBase.cs
MCPForUnity/Editor/Windows/Components/ClientConfig/McpClientConfigSection.cs
Unify Claude CLI registration and manual snippet generation with the beta-aware --from argument construction used by uvx.
  • Change registration code to use AssetPathUtility.GetBetaServerFromArgs(quoteFromPath: true) instead of constructing a --from "gitUrl" argument directly.
  • Update ConfigureWithCapturedValues to pass a precomputed fromArgs string through to RegisterWithCapturedValues so it uses the same beta/override-aware argument.
  • Update GetManualSnippet to build the claude mcp add command using fromArgs instead of a bare packageSource string.
MCPForUnity/Editor/Clients/McpClientConfiguratorBase.cs
MCPForUnity/Editor/Windows/Components/ClientConfig/McpClientConfigSection.cs
Improve EditorPrefs Manager to clearly show unset prefs, disable editing for them, and reset the search filter on window recreation.
  • On GUI creation, clear the searchFilter to avoid stale filtered views when reopening the window.
  • When creating an EditorPrefItem, detect whether the key actually exists using EditorPrefs.HasKey and mark it as IsUnset.
  • For known types, display a user-friendly placeholder string like "Unset. Default: [value]" instead of reading a default value when the pref is unset.
  • In the item UI, disable the value field and save button and reduce opacity for unset items to signal non-editable defaulted values.
  • Extend EditorPrefItem with an IsUnset boolean flag used for rendering and interaction behavior.
MCPForUnity/Editor/Windows/EditorPrefs/EditorPrefsWindow.cs

Assessment against linked issues

Issue Objective Addressed Explanation
#664 Fix the Claude Code client’s inability to connect to and detect the Unity MCP server/Editor in v9.3.1 (including when using the beta server configuration), so that sessions stay active instead of appearing as disconnected or crashing.
#664 Ensure Claude Code configuration and status validation correctly respect the beta mode / package source settings, so that the client shows a correct "Configured" status instead of errors like "Incorrect Path".

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 3, 2026

📝 Walkthrough

Walkthrough

The changes refactor beta-server package source handling in client configuration code by replacing gitUrl usage with beta-aware fromArgs parameters, introducing helper methods that compute expected package sources honoring beta mode and explicit overrides, and adding an IsUnset flag to EditorPrefs items to improve display logic.

Changes

Cohort / File(s) Summary
Beta-server Configuration Helpers
MCPForUnity/Editor/Clients/McpClientConfiguratorBase.cs, MCPForUnity/Editor/Windows/Components/ClientConfig/McpClientConfigSection.cs
Replaced gitUrl with fromArgs in uvx command deconstruction and propagation. Added GetExpectedPackageSourceForValidation() and GetExpectedPackageSourceForBetaMode() helper methods to compute package sources accounting for explicit Git URL overrides, beta mode, or standard MCP server package source. Updated Claude CLI status refresh and validation logic to use beta-aware package source resolution.
EditorPrefs Item Display
MCPForUnity/Editor/Windows/EditorPrefs/EditorPrefsWindow.cs
Added IsUnset public property to EditorPrefItem to flag keys not present in EditorPrefs. Display known-type items as "Unset. Default: …" when unset. Disabled value field editing and reduced opacity for unset items. Reset search filter on GUI recreation to prevent stale results.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Possibly related PRs

Poem

🐰 Beta-aware helpers hop with care,
fromArgs dance through the winter air,
EditorPrefs now show what's unset with grace,
Configuration flows to the right place! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 42.86% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The PR title clearly identifies the main changes: beta mode status validation fixes and EditorPrefs Manager improvements, accurately reflecting the actual code changes.
Description check ✅ Passed The PR description comprehensively covers changes made, testing performed, and relates to issue #667. However, it deviates from the repository's template structure by not using the standard sections like 'Type of Change' and 'Documentation Updates' checkbox.
Linked Issues check ✅ Passed The PR addresses issue #664 by fixing beta mode validation and Claude Code registration so status checks align with registration logic, preventing false 'Incorrect Path' errors when beta mode is enabled.
Out of Scope Changes check ✅ Passed All changes are scoped to addressing beta mode status validation (McpClientConfiguratorBase, McpClientConfigSection) and EditorPrefs UX improvements (EditorPrefsWindow), directly addressing the linked issue objectives.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 1 issue, and left some high level feedback:

  • The two helpers GetExpectedPackageSourceForValidation (in McpClientConfiguratorBase) and GetExpectedPackageSourceForBetaMode (in McpClientConfigSection) implement essentially the same beta/override resolution logic; consider extracting a shared utility method (and constant for "mcpforunityserver>=0.0.0a0") to avoid duplication and reduce the chance of these diverging.
  • In EditorPrefsWindow, the strings like "Unset. Default: False" are embedded directly into the Value field, which is also used as the editable value; it may be cleaner to keep the backing value separate and use a label or placeholder for the unset/default description so future changes to editing behavior don’t have to special-case these sentinel strings.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The two helpers `GetExpectedPackageSourceForValidation` (in `McpClientConfiguratorBase`) and `GetExpectedPackageSourceForBetaMode` (in `McpClientConfigSection`) implement essentially the same beta/override resolution logic; consider extracting a shared utility method (and constant for `"mcpforunityserver>=0.0.0a0"`) to avoid duplication and reduce the chance of these diverging.
- In `EditorPrefsWindow`, the strings like `"Unset. Default: False"` are embedded directly into the `Value` field, which is also used as the editable value; it may be cleaner to keep the backing value separate and use a label or placeholder for the unset/default description so future changes to editing behavior don’t have to special-case these sentinel strings.

## Individual Comments

### Comment 1
<location> `MCPForUnity/Editor/Clients/McpClientConfiguratorBase.cs:919-928` </location>
<code_context>
+        private static string GetExpectedPackageSourceForValidation()
</code_context>

<issue_to_address>
**suggestion:** The beta/override resolution logic and magic string are duplicated and could drift over time.

This helper duplicates the logic and `"mcpforunityserver>=0.0.0a0"` literal from `McpClientConfigSection.GetExpectedPackageSourceForBetaMode` (including `EditorPrefs` checks). Please extract a shared utility (e.g., in `AssetPathUtility` or another helper) that computes the effective package source so both registration and validation use the same implementation and the magic string lives in one place.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment on lines +919 to +928
private static string GetExpectedPackageSourceForValidation()
{
// Check for explicit override first
string gitUrlOverride = EditorPrefs.GetString(EditorPrefKeys.GitUrlOverride, "");
if (!string.IsNullOrEmpty(gitUrlOverride))
{
return gitUrlOverride;
}

// Check beta mode using the same logic as GetUseBetaServerWithDynamicDefault
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: The beta/override resolution logic and magic string are duplicated and could drift over time.

This helper duplicates the logic and "mcpforunityserver>=0.0.0a0" literal from McpClientConfigSection.GetExpectedPackageSourceForBetaMode (including EditorPrefs checks). Please extract a shared utility (e.g., in AssetPathUtility or another helper) that computes the effective package source so both registration and validation use the same implementation and the magic string lives in one place.

@dsarno dsarno merged commit 74236b6 into CoplayDev:beta Feb 3, 2026
1 of 2 checks passed
urun4m0r1 pushed a commit to urun4m0r1/unity-mcp that referenced this pull request Feb 6, 2026
- Remove ExclusiveAddressUse=false to prevent duplicate listeners
  binding to the same port after Domain Reload
- Increase port binding retry from 3x75ms to 10x200ms to allow
  old socket cleanup during Domain Reload

Based on beta branch (post-PR CoplayDev#682) which includes:
- CheckStatus speed-up (read ~/.claude.json directly)
- Thread-safety fixes (PR CoplayDev#667)
- Beta mode validation (PR CoplayDev#671)

Fixes CoplayDev#664
Related: CoplayDev#643

Co-Authored-By: Claude <noreply@anthropic.com>
urun4m0r1 pushed a commit to urun4m0r1/unity-mcp that referenced this pull request Feb 6, 2026
- Remove ExclusiveAddressUse=false to prevent duplicate listeners
  binding to the same port after Domain Reload
- Increase port binding retry from 3x75ms to 10x200ms to allow
  old socket cleanup during Domain Reload

Based on beta branch (post-PR CoplayDev#682) which includes:
- CheckStatus speed-up (read ~/.claude.json directly)
- Thread-safety fixes (PR CoplayDev#667)
- Beta mode validation (PR CoplayDev#671)

Fixes CoplayDev#664
Related: CoplayDev#643

Co-Authored-By: Claude <noreply@anthropic.com>
urun4m0r1 pushed a commit to urun4m0r1/unity-mcp that referenced this pull request Feb 7, 2026
- Remove ExclusiveAddressUse=false to prevent duplicate listeners
  binding to the same port after Domain Reload
- Increase port binding retry from 3x75ms to 10x200ms to allow
  old socket cleanup during Domain Reload

Based on beta branch (post-PR CoplayDev#682) which includes:
- CheckStatus speed-up (read ~/.claude.json directly)
- Thread-safety fixes (PR CoplayDev#667)
- Beta mode validation (PR CoplayDev#671)

Fixes CoplayDev#664
Related: CoplayDev#643

Co-Authored-By: Claude <noreply@anthropic.com>
urun4m0r1 pushed a commit to urun4m0r1/unity-mcp that referenced this pull request Feb 7, 2026
- Remove ExclusiveAddressUse=false to prevent duplicate listeners
  binding to the same port after Domain Reload
- Increase port binding retry from 3x75ms to 10x200ms to allow
  old socket cleanup during Domain Reload

Based on beta branch (post-PR CoplayDev#682) which includes:
- CheckStatus speed-up (read ~/.claude.json directly)
- Thread-safety fixes (PR CoplayDev#667)
- Beta mode validation (PR CoplayDev#671)

Fixes CoplayDev#664
Related: CoplayDev#643

Co-Authored-By: Claude <noreply@anthropic.com>
@dsarno dsarno deleted the fix/claude-code-multi-scope-cleanup-v2 branch February 13, 2026 04:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] v.9.3.1 + Claude Code Connection Error

1 participant