This page is a complete reference for allDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/jorgeurtubiam-ship-it/Gulin_ia/llms.txt
Use this file to discover all available pages before exploring further.
wsh subcommands. Each section covers the exact command syntax, every flag with its type and default value, and at least one practical usage example. All information is extracted directly from the GuLiN source code — nothing is invented or approximated.
wsh commands require the GULIN_JWT environment variable to be set, which GuLiN injects automatically into every terminal block. Running wsh outside of a GuLiN-managed terminal will produce an error.AI & Agent Commands
wsh ai — Append content to the GuLiN AI sidebar
wsh ai — Append content to the GuLiN AI sidebar
wsh gulin — Talk directly to GuLiN Agent
wsh gulin — Talk directly to GuLiN Agent
wsh ai, this command always auto-submits the assembled prompt to the GuLiN AI sidebar.Syntax- If the first argument resolves to an existing file on disk, all arguments are treated as file paths.
- Otherwise, the first argument is treated as the message and any remaining arguments are file paths.
--block / -b.ExamplesSSH & Connection Commands
wsh ssh — Connect a terminal block to a remote host
wsh ssh — Connect a terminal block to a remote host
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--identityfile | -i | string array | [] | Path to an SSH identity file for public-key authentication. Can be repeated for multiple keys |
--new | -n | bool | false | Create a new terminal block with this SSH connection instead of reusing the current block |
wsh conn — Manage SSH and WSL connections
wsh conn — Manage SSH and WSL connections
wsh installations on remotes.Syntax| Subcommand | Args | Description |
|---|---|---|
status | — | Show status of all active SSH and WSL connections |
connect CONNECTION | required | Connect to a named connection |
disconnect CONNECTION | required | Disconnect a single named connection |
disconnectall | — | Disconnect all active connections |
reinstall [CONNECTION] | optional | Reinstall wsh on the specified connection (defaults to the current connection) |
ensure CONNECTION | required | Ensure wsh is installed on the specified connection |
Block Management Commands
wsh createblock — Create a new block
wsh createblock — Create a new block
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--magnified | -m | bool | false | Create the block in magnified (full-screen overlay) mode |
wsh deleteblock — Delete a block
wsh deleteblock — Delete a block
--block / -b flag to resolve the target block (defaults to the current block when called without -b).Syntax--block / -b flag. No additional flags.Exampleswsh focusblock — Focus a block
wsh focusblock — Focus a block
--block / -b flag. No additional flags.Exampleswsh blocks list — List blocks across workspaces
wsh blocks list — List blocks across workspaces
blocks command has a list subcommand (also aliased as ls and get).Syntaxls, getFlags| Flag | Type | Default | Description |
|---|---|---|---|
--window | string | "" | Restrict output to blocks in a specific window ID |
--workspace | string | "" | Restrict output to blocks in a specific workspace ID |
--tab | string | "" | Restrict output to blocks in a specific tab ID |
--view | string | "" | Restrict output to a specific view type. Supported values and aliases: term / terminal / shell / console, web / browser / url, preview / edit, sysinfo / sys / system, gulinai / ai / assistant |
--json | bool | false | Output results as JSON |
--timeout | int | 5000 | Timeout in milliseconds for RPC calls |
--workspace and --window are mutually exclusive. Specify only one at a time.Metadata & Configuration Commands
wsh setmeta — Set metadata on a block or entity
wsh setmeta — Set metadata on a block or entity
null or an empty value to clear a key.Syntax| Flag | Type | Default | Description |
|---|---|---|---|
--json | string | "" | Path to a JSON file containing metadata to apply. Use - to read from stdin. Command-line key=value pairs take precedence over JSON file values |
- Empty string or
null→ JSONnull(clears the key) true/false→ boolean- Strings starting with
[,{, or"→ parsed as JSON - Integers and floats are parsed automatically
- Everything else is treated as a plain string
- Keys containing
/are treated as nested paths:a/b=1sets{"a": {"b": 1}}
wsh getmeta — Get metadata from a block or entity
wsh getmeta — Get metadata from a block or entity
name:*.Syntax| Flag | Type | Default | Description |
|---|---|---|---|
--verbose / -v | bool | false | Print the resolved object reference to stderr before the output |
--raw | bool | false | Output a single string value without JSON quotes |
--clear-prefix | bool | false | When using prefix patterns (key:*), include the special clearing sentinel key in output |
wsh setconfig — Update global GuLiN settings
wsh setconfig — Update global GuLiN settings
key=value syntax as setmeta. These settings are persisted to settings.json.Syntax--block / -b.Exampleswsh editconfig — Open a GuLiN configuration file in the editor
wsh editconfig — Open a GuLiN configuration file in the editor
settings.json when no file name is given.Syntaxsettings.json, presets.json, widgets.json.Flags| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--magnified | -m | bool | false | Open the config editor in magnified mode |
Variable Commands
wsh setvar — Set block variables
wsh setvar — Set block variables
--remove to delete variables instead of setting them.Syntax--remove is active, arguments are treated as keys only (no =VALUE needed).Flags| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--varfile | — | string | "var" | Name of the var file to write to |
--local / -l | -l | bool | false | Set variables local to the current block (instead of the global client scope) |
--remove / -r | -r | bool | false | Remove the specified variable(s) instead of setting them |
wsh getvar — Get block variables
wsh getvar — Get block variables
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--varfile | — | string | "var" | Name of the var file to read from |
--all | — | bool | false | Print all variables as KEY=VALUE lines |
--null / -0 | -0 | bool | false | Separate entries with null bytes instead of newlines (useful for xargs -0) |
--local / -l | -l | bool | false | Read variables local to the current block |
--newline / -n | -n | bool | false | Always print a newline after the value |
--no-newline / -N | -N | bool | false | Never print a newline after the value |
1 if the requested key does not exist.ExamplesEditor & File Commands
wsh editor — Open a file in GuLiN's built-in editor
wsh editor — Open a file in GuLiN's built-in editor
$EDITOR in scripts and Git workflows.Syntax| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--magnified | -m | bool | false | Open the editor in magnified mode |
wsh file — Manage files across local and remote systems
wsh file — Manage files across local and remote systems
file command is a subcommand group for managing files on local and remote systems using GuLiN’s URI scheme. All subcommands share a common URI format.URI Formatwsh:// scheme accesses files on remote SSH hosts via the WSH helper. Shorthands:- A bare path like
./file.txtrefers to the current remote. //user@host/pathrefers to a path on a specific remote./~/pathrefers to the home directory on your local computer.
file subcommands)| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--timeout | -t | int64 | 15000 | Timeout in milliseconds for long operations |
Subcommands
wsh file ls — List files
wsh file ls — List files
list| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--long | -l | bool | false | Use long listing format (name, size, mtime) |
--one | -1 | bool | false | List one file per line |
--files | -f | bool | false | List files only (no directories) |
wsh file cat — Display file contents
wsh file cat — Display file contents
wsh file write — Write stdin to a file
wsh file write — Write stdin to a file
wsh file append — Append stdin to a file
wsh file append — Append stdin to a file
wsh file rm — Remove a file
wsh file rm — Remove a file
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--recursive | -r | bool | false | Remove directories recursively |
wsh file cp — Copy files between systems
wsh file cp — Copy files between systems
copy| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--merge | -m | bool | false | Merge source directory into destination directory |
--force | -f | bool | false | Overwrite existing files at the destination |
wsh file mv — Move files between systems
wsh file mv — Move files between systems
move| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--force | -f | bool | false | Overwrite existing files at the destination |
wsh file info — Show file information
wsh file info — Show file information
Terminal Commands
wsh term — Open a new terminal block
wsh term — Open a new terminal block
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--magnified | -m | bool | false | Open the new terminal in magnified mode |
wsh run — Run a command in a new terminal block
wsh run — Run a command in a new terminal block
-- to separate wsh run flags from the command being run. Alternatively, use -c to pass a shell command string.Flags| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--magnified | -m | bool | false | Open the block in magnified mode |
--command | -c | string | "" | Run this command string via the shell (alternative to -- cmd) |
--exit | -x | bool | false | Close the block when the command exits successfully; keep it open on error |
--forceexit | -X | bool | false | Close the block when the command exits, regardless of exit status |
--delay | — | int | 2000 | Milliseconds to wait before closing the block when --exit is active |
--paused | -p | bool | false | Create the block but do not start the command immediately |
--cwd | — | string | "" (current dir) | Working directory for the command |
--append | -a | bool | false | Append output on restart instead of clearing the terminal |
Notification & UI Commands
wsh notify — Send a desktop notification
wsh notify — Send a desktop notification
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--title | -t | string | "Wsh Notify" | Title of the notification |
--silent | -s | bool | false | Suppress the notification sound |
wsh setbg — Set the tab background image or color
wsh setbg — Set the tab background image or color
--clear to remove an existing background.Syntax| Flag | Type | Default | Description |
|---|---|---|---|
--opacity | float64 | 0.5 | Background opacity from 0.0 (transparent) to 1.0 (opaque) |
--tile | bool | false | Tile the background image (mutually exclusive with --center) |
--center | bool | false | Center the image without scaling (mutually exclusive with --tile) |
--size | string | "auto" | Size for centered images — accepts px values, percentages, or auto |
--clear | bool | false | Remove the current background |
--print | bool | false | Print the resulting metadata JSON without applying it |
wsh launch — Launch a configured widget
wsh launch — Launch a configured widget
widgets.json (or the built-in default widgets) by its widget ID.Syntax| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--magnify | -m | bool | false | Open the widget in magnified mode (overrides the widget’s own magnified setting) |
Secret Management
wsh secret — Manage application secrets
wsh secret — Manage application secrets
[A-Za-z][A-Za-z0-9_]*).Syntax| Subcommand | Args | Description |
|---|---|---|
get <name> | required | Retrieve and print a secret value |
set <name>=<value> | required | Store or update a secret |
list | — | Print the names of all stored secrets |
delete <name> | required | Delete a secret |
ui | — | Open the secrets management UI in a new block |
wsh secret ui| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--magnified | -m | bool | false | Open the secrets UI in magnified mode |
GuLiN Path & Info Commands
wsh gulinpath — Print GuLiN directory paths
wsh gulinpath — Print GuLiN directory paths
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--open | -o | bool | false | Open the path in a new GuLiN block |
--open-external | -O | bool | false | Open the path in the default external application (e.g., Finder, Nautilus) |
--tail | -t | bool | false | Tail the last 100 lines of the log file (only valid with log) |