You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
bug(cli): sandbox create with duplicate name returns raw database error instead of user-friendly message #691
loaded debug-openshell-cluster skill — cluster is healthy (openshell status and openshell doctor check both pass)
confirmed workaround: sandbox delete <name> then sandbox create --name <name> works, but the error message gives no hint to do this
agent cannot resolve: the error originates in the grpc server layer — sqlite unique constraint error (code 2067) is surfaced as a raw internal grpc status instead of being caught and mapped to alreadyexists with a human-readable message. this requires a server-side code change in the persist layer or grpc handler.
description
actual behavior: creating a sandbox with a name that already exists returns a raw internal error exposing sqlite internals and grpc metadata:
same fix applies to the second put_message call at line 612-614.
the cli side could also validate client-side before the grpc call using sandbox list, but the server-side fix is the right layer since other clients (tui, api) would hit the same error.
Activity
areporeporepo commentedon Mar 30, 2026
suggested fix
the server already handles the k8s duplicate case correctly at
crates/openshell-server/src/grpc.rs:273:the store persist at line 258 just needs the same pattern. the codebase already checks for
UNIQUEconstraint errors elsewhere (line 2620-2621):suggested change at line 256-258:
same fix applies to the second
put_messagecall at line 612-614.the cli side could also validate client-side before the grpc call using
sandbox list, but the server-side fix is the right layer since other clients (tui, api) would hit the same error.fix(server): return already_exists for duplicate sandbox names
fix(server): return already_exists for duplicate sandbox names (#695)
chore: upstream merge 2026-04-08 (Wave 3) (#5)