Skip to content

fullsend CLI should validate openshell version before passing version-gated flags #6849

Description

@fullsend-ai-retro

What happened

On PR #51, both review agent runs (33513626596, 33514614543) failed with error: unexpected argument '--detach' found because the fullsend CLI v0.39.0 passed --detach to openshell sandbox create, but the installed openshell v0.0.83 does not support that flag. The --detach flag was introduced in #6691 (merged 2026-08-27) alongside a bump to openshell 0.0.115, but the breaking change note only documents the requirement — the CLI does not validate it at runtime.

What could go better

The failure message from openshell (unexpected argument '--detach' found) does not indicate a version mismatch — it reads like a malformed command. A user encountering this error has to trace through the CLI source to understand that their openshell is too old. The CLI already knows it requires openshell 0.0.111+ (per the #6691 breaking change) and could check before invoking the flag. High confidence this is a real gap — the breaking change documentation confirms the version requirement exists but is not enforced at runtime.

Proposed change

In the fullsend CLI's sandbox creation code path (where --detach is passed to openshell sandbox create), add a pre-flight check that runs openshell --version and compares against the minimum required version (0.0.111). If the installed version is too old, fail with a clear message: "Fullsend v0.39.0+ requires OpenShell 0.0.111 or newer. Installed version: 0.0.83. Update your OpenShell installation or pin fullsend_version to a compatible release." This applies to the sandbox creation logic in the fullsend Go CLI, likely in the sandbox package.

Validation criteria

When the fullsend CLI (v0.39.0+) is run with openshell < 0.0.111, sandbox creation fails immediately with a human-readable version-requirement error instead of the opaque unexpected argument '--detach' found message. Verify by running the CLI against openshell 0.0.83 and confirming the new error message appears.


Generated by retro agent from https://github.com/konflux-ci/scribe4jira/pull/51

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions