CLI Reference

Global Flags

These work on every command:

FlagShortDescription
--jsonJSON output. Auto-enabled when stdout is not a TTY.
--plainTab-separated output for scripting. Add --header for column names.
--verbose-vVerbose output
--quiet-qSuppress non-essential output
--no-colorDisable colors
--help-hHelp for any command

Environment Variables

VariableDescription
VIBESPACE_NAMEDefault vibespace (used when --vibespace is omitted)
VIBESPACE_DEBUG=1Write debug logs to ~/.vibespace/debug.log
VIBESPACE_LOG_LEVELdebug, info, warn, or error
VIBESPACE_CLUSTER_CPUDefault CPU cores for cluster VM (default: 4)
VIBESPACE_CLUSTER_MEMORYDefault RAM in GB for cluster VM (default: 8)
VIBESPACE_CLUSTER_DISKDefault disk in GB for cluster VM (default: 60)
VIBESPACE_DEFAULT_CPUDefault agent CPU request (default: 250m)
VIBESPACE_DEFAULT_CPU_LIMITDefault agent CPU limit (default: 1000m)
VIBESPACE_DEFAULT_MEMORYDefault agent memory request (default: 512Mi)
VIBESPACE_DEFAULT_MEMORY_LIMITDefault agent memory limit (default: 1Gi)
VIBESPACE_DEFAULT_STORAGEDefault agent storage (default: 10Gi)
VIBESPACE_NO_UPDATE_CHECKDisable automatic update check on startup
NO_COLORDisable colors (standard convention)

Cluster

vibespace init

Initialize the cluster. Downloads dependencies and boots a local k3s cluster.

FlagDefaultDescription
--cpu4CPU cores for the VM
--memory8RAM in GB
--disk60Disk in GB
--bare-metalfalseInstall k3s directly on the host (Linux only)
--externalfalseUse an existing Kubernetes cluster
--kubeconfigPath to external kubeconfig

vibespace status

Show cluster, daemon, and remote connection status.

vibespace stop

Stop the cluster. In remote mode, prompts you to use vibespace remote disconnect instead.

vibespace uninstall

Remove the cluster, VMs, downloaded binaries, and all state. Prompts for confirmation.


Vibespaces

vibespace create <name>

Create a new vibespace.

FlagShortDefaultDescription
--agent-type-t(required)claude-code or codex
--name-nCustom name for the primary agent
--repoGitHub repo to clone into the workspace
--mount-mMount host dir (host:container[:ro]). Repeatable.
--share-credentials-sfalseShare credentials between agents of the same type
--worktreefalseEnable git worktree mode (each agent gets its own branch). Requires --repo.
--branchGit branch for the primary agent (default: agent name). Requires --worktree.
--skip-permissionsfalseRun agent without permission prompts
--allowed-toolsComma-separated list of allowed tools
--disallowed-toolsComma-separated list of blocked tools
--modelModel to use
--max-turns0Max conversation turns (0 = unlimited)
--cpu250mCPU request
--cpu-limit1000mCPU limit
--memory512MiMemory request
--memory-limit1GiMemory limit
--storage10GiPersistent storage size

vibespace list

List all vibespaces with status, agent count, and resource usage.

vibespace delete <name>

Delete a vibespace and its resources.

FlagShortDefaultDescription
--force-ffalseSkip confirmation
--keep-datafalsePreserve persistent storage
--dry-run-nfalseShow what would be deleted

vibespace info

Show vibespace details including agents, configuration, mounts, and port forwards.

Requires --vibespace <name> or VIBESPACE_NAME.


Agents

All agent commands require --vibespace <name> or VIBESPACE_NAME.

vibespace agent list

List agents in the vibespace.

vibespace agent create

Add a new agent to the vibespace.

FlagShortDefaultDescription
--agent-type-tAgent type (default: same as primary)
--name-nCustom agent name
--share-credentials-sfalseUse shared credential store
--branchGit branch for this agent in worktree mode (default: agent name)
--skip-permissionsfalseRun without permission prompts
--allowed-toolsComma-separated allowed tools
--disallowed-toolsComma-separated blocked tools
--modelModel to use
--max-turns0Max conversation turns

vibespace agent delete <agent>

Remove an agent from the vibespace.

vibespace agent start [agent]

Start all agents or a specific agent.

vibespace agent stop [agent]

Stop all agents or a specific agent.

vibespace connect [agent]

Open an interactive terminal session to an agent via SSH.

FlagShortDefaultDescription
--browser-bfalseOpen in browser (ttyd) instead of terminal
--agent-aTarget agent name

vibespace exec [agent] -- <command>

Run a command in an agent container. Flags go before the -- separator.


Configuration

All config commands require --vibespace <name> or VIBESPACE_NAME.

vibespace config show [agent]

Show agent configuration. Shows all agents if no agent name is given.

vibespace config set <agent>

Update an agent’s configuration.

FlagDefaultDescription
--modelModel name
--max-turns0Max conversation turns
--system-promptCustom system prompt
--skip-permissionsEnable skip-permissions (Claude only)
--no-skip-permissionsDisable skip-permissions (Claude only)
--allowed-toolsComma-separated allowed tools (Claude only)
--disallowed-toolsComma-separated blocked tools (Claude only)
--reasoning-effortlow, medium, high, xhigh (Codex only)

Port Forwarding

All forward commands require --vibespace <name> or VIBESPACE_NAME.

vibespace forward list

List active port forwards.

vibespace forward add <port>

Forward a port from an agent container to localhost.

FlagShortDefaultDescription
--agent-aclaude-1Agent to forward from
--local-l(auto)Local port number
--dnsfalseEnable DNS resolution (needs sudo)
--dns-name(auto)Custom DNS name (default: agent.vibespace)

vibespace forward remove <port>

Remove a port forward.

FlagShortDefaultDescription
--agent-aclaude-1Agent to remove forward from

Remote Mode

vibespace serve

Start the remote mode server. Runs a WireGuard VPN endpoint and management API.

FlagDefaultDescription
--foregroundfalseRun in foreground instead of daemonizing
--endpoint(auto-detected)Public endpoint for clients
--generate-tokenfalseGenerate a client invite token
--token-ttl30mToken expiry time
--list-clientsfalseList registered clients
--remove-clientRemove a client by name, hostname, or public key

vibespace remote connect <token>

Connect to a remote server using an invite token. Requires sudo for WireGuard setup.

vibespace remote disconnect

Disconnect from the remote server and tear down the tunnel.

vibespace remote status

Show connection status and run diagnostics.

vibespace remote watch

Watch the connection and auto-reconnect on drops. Blocks until interrupted.


Sessions

vibespace session list

List multi-agent sessions.

vibespace session show <name>

Show session details and message history.

vibespace session delete <name>

Delete a session.


Multi-Agent

vibespace multi [message]

Start or interact with multi-agent sessions.

FlagShortDefaultDescription
--vibespacesVibespaces to include (all their agents)
--agentsSpecific agents (agent@vibespace)
--name(auto UUID)Session name
--resume-rResume a session
--agentallTarget agent for non-interactive mode
--batchfalseRead JSONL from stdin
--streamfalseStream responses as plain text
--timeout2mResponse timeout
--list-agentsfalseList connected agents
--list-sessionsfalseList sessions

Utility

vibespace upgrade

Download and install the latest version from GitHub Releases. Verifies SHA256 checksums before replacing the binary.

FlagDefaultDescription
--checkfalseOnly check for updates, don’t install
--forcefalseRe-download even if already on latest

The CLI also checks for updates automatically after each command (cached for 24 hours, stderr-only). Disable with VIBESPACE_NO_UPDATE_CHECK=1.

vibespace version

Print version, commit hash, and build date.

vibespace completion <shell>

Generate shell completions for bash, zsh, fish, or powershell.


Output Modes

ModeFlagWhenFormat
Human(default)TTY detectedStyled tables, colors, spinners
JSON--jsonNon-TTY or explicit{success, data, error, meta} envelope
Plain--plainExplicit onlyTab-separated values
Stream--streamMulti command onlyLine-by-line plain text

Exit Codes

CodeMeaning
0Success
1Internal error
2Invalid usage (bad flags or arguments)
10Resource not found
11Already exists
12Permission denied
13Timeout
14Cancelled by user
15Service unavailable (cluster or daemon not running)