Skip to content

bug(gateway): 0.0.96 rejects sandbox names >19 chars, breaking the OpenClaw integration #2651

Description

@rocket-turkey

Summary

OpenShell 0.0.96 enforces a hard 19-character maximum on sandbox names. The gateway rejects any longer name with gRPC INVALID_ARGUMENT. This makes 0.0.96 unusable with the official OpenClaw integration, whose sandbox names are structurally ≥24 characters and cannot be shortened through configuration.

Environment

  • OpenShell gateway 0.0.96 (release v0.0.96)
  • Docker compute driver, Linux x86_64
  • OpenClaw agent runtime via the openshell plugin

Reproduction

CreateSandbox (or openshell sandbox create --name <name>) with a name longer than 19 characters is rejected:

$ openshell sandbox create --name openclaw-agent-dev-abcf4511 --from openclaw -- echo hi
Error:   × code: 'Client specified an invalid argument',
  message: "name exceeds maximum length (27 > 19)"

A name of exactly 19 characters works:

$ openshell sandbox create --name openclaw-agent-dev1 --from openclaw -- echo hi
Created sandbox: openclaw-agent-dev1

Why this breaks the OpenClaw integration

The OpenClaw integration names each agent's sandbox openclaw-agent-<agentId>-<8-hex-hash>. The fixed prefix openclaw-agent- is 15 characters, plus a hyphen and an 8-character hash — so every generated name is ≥24 characters before the agent id, and can never fit within 19.

There is no configuration lever to reconcile this: no sandbox-name/prefix/length key in the openshell plugin config, none in the per-agent sandbox config, and no gateway-side limit override. The gateway therefore rejects CreateSandbox for every OpenClaw agent, and no sandbox can be created at all.

Regression

The same integration and the same ≥24-character names worked on 0.0.85; the 19-character limit appears to be introduced in a later 0.0.9x release. Downgrading is not a clean workaround because 0.0.96 migrates the gateway state DB forward, and an older gateway then refuses to start against the migrated schema (migration N was previously applied but is missing in the resolved migrations).

Ask

One of:

  • Raise or remove the 19-character sandbox-name limit, or make it configurable; and/or
  • Document the limit and coordinate with the OpenClaw integration so its generated names fit (shorter prefix, shorter hash, or a configurable name).

If 19 is a hard downstream constraint (a Docker/Kubernetes/DNS-label budget), it would help to state that in the error and in the docs, so integrations can generate names accordingly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions