Skip to content
This repository was archived by the owner on Aug 13, 2026. It is now read-only.
This repository was archived by the owner on Aug 13, 2026. It is now read-only.

exec treats single quoted arg as binary name — no shell interpretation #176

Description

@AlephNotation

Bug / UX issue

When passing a command as a single quoted string to vers exec, it's sent as-is as the executable name rather than being shell-interpreted, causing command not found.

Repro

$ vers execute <vm-id> 'echo hello'
bash: line 1: echo hello: command not found

$ vers execute <vm-id> echo hello   # works — separate args
hello

This means pipelines, redirects, and any shell syntax require the user to manually wrap in sh -c:

$ vers execute <vm-id> sh -c 'echo hello | wc -w'
1

Suggestion

Consider adding a --shell / -c flag that wraps the remaining args in sh -c "...":

vers exec <vm-id> -c 'echo hello | wc -w'

Or alternatively, detect when a single argument is passed and automatically wrap it in a shell invocation.

Impact

This is a major friction point for agents. Most programmatic use wants to run shell commands (with pipes, env var expansion, etc.), not just bare binaries with separate args.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions