NVIDIA / NVIDIA/OpenShell

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

Open
#2,651 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

state:validated
Dominant language
Rust
Stars
8.7k
Forks
1.3k
Avg merge
2d 11h
Merged PRs (30d)
253

Description

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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the gateway's CreateSandbox name validation and compare it with the openshell sandbox create --name path, using the 19-character and OpenClaw-style reproductions. Check the 0.0.85 versus 0.0.96 behavior; done means supported OpenClaw names can be created, or the limit, configuration, error, and integration guidance are explicitly aligned.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.