# Command line

Every operation goes through one program, `gizlang`. Run `giz help COMMAND` for one command, or `giz doc --json` for this reference as JSON (`gizlang.reference.v1`).

| Command | Usage |
| --- | --- |
| `init` | `giz init [DIR]` |
| `run` | `giz run [--fast] [--release] [--record LOG] [--replay LOG] FILE [ARGUMENT...]` |
| `check` | `giz check [--json] FILE` |
| `build` | `giz build [--wasm] [--target TRIPLE] [--debug] [--release] [--store] [--fast] [--warmup COMMAND] [-o OUTPUT] FILE` |
| `wasm` | `giz wasm FILE [ARGUMENT...]` |
| `test` | `giz test [--shard I/N] [FILE \| FOLDER \| FILTER]` |
| `live` | `giz live [--tests] [--accept ADDRESS] [--trusted KEYS] [--generation GEN] [--tls-chain FILE] [--tls-key FILE] FILE \| --generation GEN --trusted KEYS` |
| `deploy` | `giz deploy [--app NAME] [--summary TEXT] [--preview] [--live URL] [--generation GEN] [--at PATH] [--sign GEN] [--json] [FILE...]` |
| `ai` | `giz ai [--model NAME] [--size WxH] [--steps N] [--seed N] [--out FILE] [--think] [--max N] [--context N] [--slots N] [--host HOST] [--port PORT] [--cpu] models \| pull NAME \| chat NAME [PROMPT...] \| image PROMPT... \| serve NAME...` |
| `api` | `giz api [--json] [NAME [FIELD=VALUE...]]` |
| `ssh-proxy` | `giz ssh-proxy COMPUTER [PORT]` |
| `doc` | `giz doc [--json] [--check] [--package FILE] [--previous FILE] [--release VERSION] [NAME]` |
| `outline` | `giz outline [--json] FILE` |
| `context` | `giz context FILE WORD...` |
| `project` | `giz project FILE` |
| `edit` | `giz edit FILE` |
| `repl` | `giz repl` |
| `lsp` | `giz lsp` |
| `bind` | `giz bind HEADER LIBRARY NAME...` |
| `codec` | `giz codec FILE TYPE...` |
| `fmt` | `giz fmt [--check] [--bytes] FILE...` |
| `i18n` | `giz i18n [--add TAG] [--check] DIR` |
| `pin` | `giz pin DIR` |
| `get` | `giz get [--frozen] DIR [NAME@VERSION... npm:NAME@SPEC...]` |
| `publish` | `giz publish DIR [NAME@VERSION]` |
| `public-key` | `giz public-key SEED` |
| `storage` | `giz storage [--json] OPERATION [OPERAND...]` |
| `bench` | `giz bench [--size SIZE] [--out FILE] list [SUITE] \| run\|show\|compare\|record ID...` |
| `work` | `giz work [--json] OPERATION [OPERAND...]` |
| `capabilities` | `giz capabilities` |
| `completion` | `giz completion bash` |
| `help` | `giz help [--all \| COMMAND]` |
| `vscode` | `giz vscode` |
| `licenses` | `giz licenses FILE` |
| `version` | `giz version` |
| `auth` | `giz auth [--json] [--base-url URL] [--org ORGANIZATION] [login\|status\|logout]` |
| `api-key` | `giz api-key [--json] [--base-url URL] [--org ORGANIZATION] [list\|create\|revoke]` |
| `credits` | `giz credits [--json] [--base-url URL] [--org ORGANIZATION]` |
| `model` | `giz model [--json] [--base-url URL] [--org ORGANIZATION] [list\|get\|run]` |
| `chat` | `giz chat [--json] [--base-url URL] [--org ORGANIZATION] [MODEL PROMPT...]` |
| `generate` | `giz generate [--json] [--base-url URL] [--org ORGANIZATION] [KIND PROMPT...]` |
| `job` | `giz job [--json] [--base-url URL] [--org ORGANIZATION] [list\|get\|wait\|cancel]` |
| `drive` | `giz drive [--json] [--base-url URL] [--org ORGANIZATION] [SUBCOMMAND ...]` |
| `table` | `giz table [--json] [--base-url URL] [--org ORGANIZATION] [SUBCOMMAND ...]` |
| `upload` | `giz upload [--json] [--base-url URL] [--org ORGANIZATION] [LOCAL_PATH]` |
| `computer` | `giz computer [--json] [--base-url URL] [--org ORGANIZATION] [SUBCOMMAND ...]` |
| `app` | `giz app [--json] [--base-url URL] [--org ORGANIZATION] [SUBCOMMAND ...]` |
| `connection` | `giz connection [--json] [--base-url URL] [--org ORGANIZATION] [list]` |
| `plugin` | `giz plugin [--json] [--base-url URL] [--org ORGANIZATION] [SUBCOMMAND ...]` |
| `agent` | `giz agent [--json] [--base-url URL] [--org ORGANIZATION] [start\|status\|cancel]` |
| `invoke` | `giz invoke [--json] [--base-url URL] [--org ORGANIZATION] [TOOL]` |
| `mcp` | `giz mcp [--json] [--base-url URL] [--org ORGANIZATION] [url\|serve\|check\|add]` |
| `skill` | `giz skill [--json] [--base-url URL] [--org ORGANIZATION] [install]` |
| `engine` | `giz engine [--json] [--base-url URL] [--org ORGANIZATION] [run claude PROMPT...]` |
| `update` | `giz update [--json] [--base-url URL] [--org ORGANIZATION]` |

## `gizlang init`

Create a Hello project with a test and pinned `package.json`. With DIR, create DIR (it must not exist; its parent must). Without DIR, use the current folder, which must not already hold `main.giz`, `main.test.giz` or `package.json`. Print the project folder.

```sh
giz init [DIR]
```

```sh
# Create a project in `hello-project`.
giz init hello-project
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang run`

Build FILE (cached) and run it with the arguments. `giz FILE.giz ARGUMENT...` and a script that starts with `#!/usr/bin/env giz` do the same. The exit status is the status of the program.

```sh
giz run [--fast] [--release] [--record LOG] [--replay LOG] FILE [ARGUMENT...]
```

| Option | Meaning |
| --- | --- |
| `--fast` | Build fast (-O0) against the prebuilt SDK, as test runners do; the runtime is loaded from this build folder. |
| `--release` | Wait for the optimized build. By default a run takes the optimized program once it is stored, and until then runs -O0 while it builds. |
| `--record LOG` | Write the inputs of the program to LOG, for --replay. |
| `--replay LOG` | Give the program the inputs from LOG again. |

```sh
# Print "Hello, world".
giz run main.giz
# The same, without `run`.
giz main.giz
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang check`

Check FILE (`.giz`, `.gizgraph` or `package.json`). Then run the tests of FILE and of each `X.test.giz` next to its sources whose meaning changed since they passed.

```sh
giz check [--json] FILE
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the diagnostics as JSON and run no tests. |

```sh
# Check the program and run `main.test.giz`.
giz check main.giz
# The diagnostics as JSON.
giz check --json main.giz
```

Prints JSON with schema `gizlang.diagnostics`.

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang build`

Compile FILE to a program for this CPU, and print its path.

```sh
giz build [--wasm] [--target TRIPLE] [--debug] [--release] [--store] [--fast] [--warmup COMMAND] [-o OUTPUT] FILE
```

| Option | Meaning |
| --- | --- |
| `--wasm` | Build a wasm64 module. |
| `--target TRIPLE` | Build a static native executable for TRIPLE: x86_64-pc-windows-gnu (llvm-mingw). |
| `--debug` | Build unoptimized with DWARF for the Gizlang sources, for gdb or lldb. |
| `--release` | Link optimized (-O2, ThinLTO) even inside a test run, for a suite that measures speed. |
| `--store` | Build into the machine store only, with no output file (what a run starts in the background). |
| `--fast` | Link fast (-O0) against the prebuilt SDK, as test runners do; the program loads the runtime from this build folder, so it runs only here. |
| `--warmup COMMAND` | Run the program (with the arguments after --) while the shell COMMAND runs ("" waits for its exit), and compile in each database kernel it meets. |
| `-o OUTPUT` | Write the program to OUTPUT. |

```sh
# Write the program `hello`.
giz build main.giz -o hello
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang wasm`

Build FILE as a wasm64 module and run it in `runtime/wasm.mjs`, which gives it only the console. Only a source checkout has the host.

```sh
giz wasm FILE [ARGUMENT...]
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang test`

Run the tests of FILE. With no operand, run every `*.test.giz` file under the current folder (your project); at the top of a Gizlang checkout, every case and suite of the toolchain. There, FOLDER runs the cases and suites under `tests/FOLDER` and FILTER the cases whose path contains it. Only functions that are proved pure are cached by meaning.

```sh
giz test [--shard I/N] [FILE | FOLDER | FILTER]
```

| Option | Meaning |
| --- | --- |
| `--shard I/N` | Run every Nth case and suite from the Ith, for N parallel machines. |

```sh
# Run the tests of one file.
giz test main.test.giz
# Run every test file of the project here.
giz test
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | A test failed. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang live`

Run FILE. When a source in its folder changes, the next generation of its code replaces the code that runs. With `--accept`, `deploy --live` sends the changes, and a change of named state that loses a field is refused. With `--generation`, a production host runs a generation built and optimized on another machine, and `deploy --live URL --generation` replaces it.

```sh
giz live [--tests] [--accept ADDRESS] [--trusted KEYS] [--generation GEN] [--tls-chain FILE] [--tls-key FILE] FILE | --generation GEN --trusted KEYS
```

| Option | Meaning |
| --- | --- |
| `--tests` | Run the tests of each edit before it replaces the code that runs (off by default: an edit is served at once). |
| `--accept ADDRESS` | Also take signed units for FILE at ADDRESS (PORT or HOST:PORT), as a deployed host. |
| `--trusted KEYS` | The file of the hex Ed25519 public keys whose units it takes, one on each line. |
| `--generation GEN` | Run the prebuilt generation GEN (signed in GEN.sig by `deploy --sign`) instead of FILE, and compile nothing here. |
| `--tls-chain FILE` | With `--accept`: take units over TLS with this PEM certificate chain (and `--tls-key`). |
| `--tls-key FILE` | The PEM private key of `--tls-chain`. |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang deploy`

Without `--live`, send FILE, else the folder's `app.giz` (and `app.test.giz`), to GizStack with your terminal token (`GIZ_TOKEN`): it checks and tests the change and publishes it into the running app at NAME.giz.sh, or refuses it and the old version keeps serving. In an empty folder it starts a guestbook app and writes its source to `app.giz`; the folder remembers its app in `.gizstack/app`, so the next `giz deploy` changes the same address. With `--live`, sign the sources FILE (paths in the program's folder) with the key in `GIZLANG_SIGNING_KEY` and send them to the live host at URL. The host checks, tests and compiles them, and publishes them into the running program, or refuses them and keeps the old code. With `--generation`, the host loads a generation that `giz live-generation FILE GEN` built and optimized, once its SHA-256 matches the signed one.

```sh
giz deploy [--app NAME] [--summary TEXT] [--preview] [--live URL] [--generation GEN] [--at PATH] [--sign GEN] [--json] [FILE...]
```

| Option | Meaning |
| --- | --- |
| `--app NAME` | The app at https://NAME.giz.sh; a free name makes a new project, none picks one. |
| `--summary TEXT` | What changed, shown in the Deployments area. |
| `--preview` | Publish to NAME--preview.giz.sh, on a copy of the live data, and leave the live app as it is. |
| `--live URL` | The address of a host that `live --accept` runs. |
| `--generation GEN` | Send the prebuilt generation GEN instead of sources. |
| `--at PATH` | Where the host finds GEN's bytes on its machine (default: GEN's absolute path). |
| `--sign GEN` | Write GEN.sig, the signature `live --generation GEN` verifies, and send nothing. |
| `--json` | Write the result as JSON. |

Prints JSON with schema `gizlang.deploy`.

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang ai`

Run AI models on this computer by name: `models` lists the catalog (Qwen 3.5 chat models, FLUX.3 klein images); any Hugging Face repository (`owner/name`) of a family gizml:llm reads is a chat model too. The first use of a model downloads it into the models folder and converts it once; `pull` does that ahead. `chat` streams the answer to PROMPT, or without PROMPT chats line by line. `image` writes a PNG. `serve` serves the OpenAI API (`/v1/chat/completions`, `/v1/images/generations`, `/v1/models`) of the models named; the first chat model is the default. A gated repository needs its license accepted on Hugging Face and `HF_TOKEN`; `HF_ENDPOINT` names a mirror.

```sh
giz ai [--model NAME] [--size WxH] [--steps N] [--seed N] [--out FILE] [--think] [--max N] [--context N] [--slots N] [--host HOST] [--port PORT] [--cpu] models | pull NAME | chat NAME [PROMPT...] | image PROMPT... | serve NAME...
```

| Option | Meaning |
| --- | --- |
| `--model NAME` | image: the image model (flux3-klein by default). |
| `--size WxH` | image: the size in pixels, multiples of 16 (1024x1024 by default). |
| `--steps N` | image: the denoising steps (the model's by default: 16 for flux3-klein, 8 for z-image-turbo). |
| `--seed N` | image: the seed of the noise; the same seed gives ComfyUI's image. |
| `--out FILE` | image: the PNG file to write (image.png by default). |
| `--think` | chat: a thinking model thinks first; the thinking goes to standard error. |
| `--max N` | chat: the most tokens of an answer. |
| `--context N` | chat, serve: the positions of a chat (32768 by default). |
| `--slots N` | serve: the chats that run together (4 by default). |
| `--host HOST` | serve: the address to listen on (127.0.0.1 by default). |
| `--port PORT` | serve: the port (8000 by default). |
| `--cpu` | chat, serve: run the chat models on the CPU. |

```sh
# Download Qwen 3.5 4B once and stream its answer.
giz ai chat qwen3.5-4b Why is the sky blue?
# Make a 1024 x 1024 image with FLUX.3 klein.
giz ai image a red fox in fresh snow --out fox.png
# Serve the OpenAI API for coding agents at http://127.0.0.1:8000/v1.
giz ai serve qwen3.5-27b --port 8000
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The model could not be found, downloaded or loaded, or the request failed. The reason is on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang api`

Run the GizStack operation NAME with your terminal token (`GIZ_TOKEN`), as the console, MCP and agents do, and print its result as JSON; a refusal prints why and exits 1. Without NAME, list every operation and its fields. `giz api listProjects` gives the ids the others take: `giz api rollback deployment=ID` publishes an earlier version again.

```sh
giz api [--json] [NAME [FIELD=VALUE...]]
```

| Option | Meaning |
| --- | --- |
| `--json` | Without NAME, write the operations as JSON: each one's name, description and input schema. |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The operation was refused, or GizStack could not be reached. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang ssh-proxy`

Reach a running Giz Computer of your team through GizStack with your terminal token (`GIZ_TOKEN`): standard input and output are copied through a one-use tunnel to PORT (22 by default) of the Computer, with no public address. Use it as an ssh ProxyCommand: `ssh -o ProxyCommand='giz ssh-proxy %h %p' user@COMPUTER`. The team is `GIZ_ORG` (an id or slug), else your personal team.

```sh
giz ssh-proxy COMPUTER [PORT]
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The Computer is stopped or not yours, or GizStack could not be reached. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang doc`

Show the documentation of NAME: a module (`gizlang:json`), a declaration (`Json.get`) or a command (`check`). With `--json`, write the whole reference that the site, LSP hover, `llms.txt` and MCP read.

```sh
giz doc [--json] [--check] [--package FILE] [--previous FILE] [--release VERSION] [NAME]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the reference of the SDK and the command line (`gizlang.reference.v1`). |
| `--check` | Report undocumented exports, unresolved `[Name]` references and failed examples. |
| `--package FILE` | Document the package of FILE (a package.json or .giz file), not the SDK. |
| `--previous FILE` | The reference of the previous release; `since` comes from the difference. |
| `--release VERSION` | The version that new declarations get as `since`. |

```sh
# The declarations of `gizlang:json`.
giz doc gizlang:json
# The help of `giz check`.
giz doc check
```

Prints JSON with schema `gizlang.reference.v1`.

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | A name is unknown, or `--check` found a problem. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang outline`

Print the declarations of FILE, one a line: where it is, its signature and effects, and its doc summary under it.

```sh
giz outline [--json] FILE
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the outline as JSON for scripts: also each location, digest and the hash of the source. |

```sh
# The outline of the program.
giz outline main.giz
# The same as JSON, for a script.
giz outline --json main.giz
```

Prints JSON with schema `gizlang.outline`.

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang context`

Print the declarations that mention a WORD in full, and the first lines of their neighbours.

```sh
giz context FILE WORD...
```

```sh
# The declaration `main` and its neighbours.
giz context main.giz main
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang project`

Print the canonical source of FILE, with the sugar spelled out.

```sh
giz project FILE
```

```sh
# The canonical source.
giz project main.giz
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang edit`

Apply the JSON edit request on stdin to FILE, if the result checks. A conflicting source change rejects the edit before it is written.

```sh
giz edit FILE
```

Prints JSON with schema `gizlang.edit`.

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang repl`

Start the read-eval-print loop.

```sh
giz repl
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang lsp`

Start the language server on stdin and stdout.

```sh
giz lsp
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang bind`

Print `declare` lines for the C functions NAME of HEADER in LIBRARY.

```sh
giz bind HEADER LIBRARY NAME...
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang codec`

Print JSON functions for the record types TYPE of FILE.

```sh
giz codec FILE TYPE...
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang fmt`

Lay out each FILE by its brackets and spacing rules; a line over 120 characters is cut at its statements, blocks, items and lists. A layout is kept only when the tokens of the file do not change.

```sh
giz fmt [--check] [--bytes] FILE...
```

| Option | Meaning |
| --- | --- |
| `--check` | Change no file. List the files that are not formatted. |
| `--bytes` | Rewrite only a string's length, indexes, slice and indexOf to their byte names, and lay out nothing. |

```sh
# Check the layout.
giz fmt --check main.giz
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | `--check` found a file that is not formatted. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang i18n`

Bring the catalogs `locales/TAG.json` of the `.ghtml` files under DIR up to date: add each message a catalog lacks with an empty translation (shown in English until translated), remove the keys no file shows, and print how much of each catalog is translated.

```sh
giz i18n [--add TAG] [--check] DIR
```

| Option | Meaning |
| --- | --- |
| `--add TAG` | Create the catalog `locales/TAG.json` (a BCP 47 tag: ko, ja, pt-BR). |
| `--check` | Change no file. Fail when a catalog lacks a message, holds a key no file shows, or has a translation that does not fit its message. |

```sh
# Start a Korean catalog for the pages under this folder.
giz i18n . --add ko
# Check the catalogs in CI.
giz i18n . --check
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | `--check` found a catalog that is not complete, or a translation does not fit its message. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang pin`

Write the sha256 pins in `DIR/package.json` again, dependencies first.

```sh
giz pin DIR
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang get`

Raise the requirements of the package in DIR, vendor the minimal version selection, run `npm install` (without its scripts) and pin the result.

```sh
giz get [--frozen] DIR [NAME@VERSION... npm:NAME@SPEC...]
```

| Option | Meaning |
| --- | --- |
| `--frozen` | Validate the exact local pinned closure, with no version selection, writes or network. |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang publish`

Publish the package in DIR under the name and version of its manifest. NAME@VERSION asserts that they are equal.

```sh
giz publish DIR [NAME@VERSION]
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang public-key`

Print the hexadecimal Ed25519 public key of the 32-byte SEED file (`GIZLANG_SIGNING_KEY`), for `GIZLANG_TRUSTED_KEYS`.

```sh
giz public-key SEED
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang storage`

Manage a storage range: buckets, objects (`ls`, `cp`, `rm`, `stat`, `presign`), keys, usage, a FUSE mount and block volumes. `GIZ_STORAGE_NODES` names the nodes and `GIZ_STORAGE_CREDENTIAL` holds the issued credential, for a local range and for gizstack.com alike. `giz storage help` lists the operations (https://gizstack.com/docs/guide/storage).

```sh
giz storage [--json] OPERATION [OPERAND...]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result as a JSON array of records. |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang bench`

Run the benchmark suites of this toolchain, all or in part. An ID is a suite (`web/app`) or one item of it (`web/app/startup`); `list` shows them. `run` measures here, `show` prints the published results, `compare` puts a run beside them (ratios, because machines differ). `record` writes the published file and exists in a source checkout only. A suite that compares with another tool skips that column and says how to get the tool.

```sh
giz bench [--size SIZE] [--out FILE] list [SUITE] | run|show|compare|record ID...
```

| Option | Meaning |
| --- | --- |
| `--size SIZE` | `quick` (seconds), `std` (the default) or `full` (the size that was published). |
| `--out FILE` | Write the run as a published-format file, to read or compare later. |

```sh
# The benchmark suites and what is published for each.
giz bench list
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang work`

Manage the work items of the git repository here: `list`, `show`, `open`, `drop`, `claim`, `release`, `claims`, `age`, `burndown`, `check`. An item is a Markdown file named by its ID in the `work` folder; the first commit whose subject ends with (ID) fixes it.

```sh
giz work [--json] OPERATION [OPERAND...]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write `list` as a JSON array of items. |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang capabilities`

Write the operations of this command line and the exact identity of the running toolchain.

```sh
giz capabilities
```

```sh
# The capabilities as JSON.
giz capabilities
```

Prints JSON with schema `gizlang.capabilities.v1`.

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang completion`

Print a bash completion script. Load it with `source <(giz completion bash)`.

```sh
giz completion bash
```

```sh
# The bash script.
giz completion bash
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang help`

Print the commands by group, or the help of COMMAND. `giz COMMAND --help` does the same. With `--all`, also the commands that work on the Gizlang repository itself.

```sh
giz help [--all | COMMAND]
```

Also: --help.

```sh
# The help of `giz check`.
giz help check
# Every command, the repository's own too.
giz help --all
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang vscode`

Install the VS Code extension that this toolchain carries (`share/gizlang/vscode/gizlang.vsix`) with `code --install-extension`.

```sh
giz vscode
```

```sh
# Install or update the extension.
giz vscode
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | `code` is not on `PATH`, or this toolchain has no extension. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang licenses`

Print the third-party notices for the native link inputs of FILE. Do not build an executable.

```sh
giz licenses FILE
```

```sh
# Print component versions, SPDX identifiers and full license texts.
giz licenses main.giz
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The check, test or operation failed. Diagnostics are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang version`

Print the identity of the toolchain. `--version` prints the version of the giz.ai CLI that this command line serves (2.x), which the giz.ai CLI's scripts read.

```sh
giz version
```

```sh
# The toolchain identity.
giz version
```

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang auth`

Sign in to your Giz account, show who is signed in, or sign out. `login` gives a code to confirm in the browser, which it opens on a desktop; `--device` only prints the address. The sign-in is the one of giz.ai's CLI 2.0 (`GIZ_TOKEN` serves CI), and it also signs `deploy`, `api` and `publish` in to GizStack.

```sh
giz auth [--json] [--base-url URL] [--org ORGANIZATION] [login|status|logout]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang api-key`

List, create (`--scopes giz.inference,giz.read`, `--expires ISO_TIMESTAMP`) or revoke giz.ai API keys. The secret is shown only when the key is created.

```sh
giz api-key [--json] [--base-url URL] [--org ORGANIZATION] [list|create|revoke]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang credits`

Print your remaining credit (purchased and plan), when plan credit resets, and this month's spend; in a workspace, its monthly budget. Read it before paid batch work.

```sh
giz credits [--json] [--base-url URL] [--org ORGANIZATION]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang model`

List models (`--type TYPE`, `--search TEXT`), show one with its live input schema, or run one with `--input JSON` and `--upload FIELD=LOCAL_PATH`; `run` returns a job.

```sh
giz model [--json] [--base-url URL] [--org ORGANIZATION] [list|get|run]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang chat`

Ask a chat model: `giz chat MODEL "your prompt"`, or the whole request with `--input '{"messages":[...]}'`.

```sh
giz chat [--json] [--base-url URL] [--org ORGANIZATION] [MODEL PROMPT...]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang generate`

Generate media with `--model MODEL`, `--image LOCAL_PATH`, `--audio LOCAL_PATH`, `--upload FIELD=PATH` or `--input JSON`; it returns a job (`giz job wait JOB`).

```sh
giz generate [--json] [--base-url URL] [--org ORGANIZATION] [KIND PROMPT...]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang job`

List your jobs (`--limit N`), or get, wait for or cancel one. `wait` exits 1 unless the job completed.

```sh
giz job [--json] [--base-url URL] [--org ORGANIZATION] [list|get|wait|cancel]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang drive`

Your Drive: `ls [PATH]`, `search QUERY`, `read PATH`, `write PATH --content TEXT` or `--file LOCAL_PATH`, `mkdir PATH`, `move FROM TO`, `delete PATH`.

```sh
giz drive [--json] [--base-url URL] [--org ORGANIZATION] [SUBCOMMAND ...]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang table`

Workspace tables: list them, show one's fields and actions, read or write rows with `--input JSON`, or run an action (`--id ID[,ID...]`).

```sh
giz table [--json] [--base-url URL] [--org ORGANIZATION] [SUBCOMMAND ...]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang upload`

Upload a local file and print its URL, for a model input.

```sh
giz upload [--json] [--base-url URL] [--org ORGANIZATION] [LOCAL_PATH]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang computer`

Your Giz Computers: list them, get, start or stop one, run a command (`--computer`, `--cwd`, `--deadline-ms`, `--stdin`, `--stdin-file`), or `ssh`: the ssh ProxyCommand (`ssh -o ProxyCommand='giz computer ssh %h %p' user@NAME`).

```sh
giz computer [--json] [--base-url URL] [--org ORGANIZATION] [SUBCOMMAND ...]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang app`

Giz Apps: list, create or save one (`--input JSON`), run, publish (`private|workspace|public`), open or delete one; a change names `--expected-revision REVISION`.

```sh
giz app [--json] [--base-url URL] [--org ORGANIZATION] [SUBCOMMAND ...]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang connection`

List your connected services and their status.

```sh
giz connection [--json] [--base-url URL] [--org ORGANIZATION] [list]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang plugin`

Agent plugins (skills, MCP servers and agents): find, inspect, install, turn on or off, remove and share them.

```sh
giz plugin [--json] [--base-url URL] [--org ORGANIZATION] [SUBCOMMAND ...]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang agent`

Start a Giz Agent turn (`--input JSON`), read its status (`--wait`) or cancel it.

```sh
giz agent [--json] [--base-url URL] [--org ORGANIZATION] [start|status|cancel]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang invoke`

Run any giz.ai tool by name with `--input JSON` (`@FILE` reads a file, `-` standard input).

```sh
giz invoke [--json] [--base-url URL] [--org ORGANIZATION] [TOOL]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang mcp`

Giz's MCP server: print its address, serve it on standard input and output with this sign-in, check it, or register it with Codex or Claude Code (`--transport stdio|http`).

```sh
giz mcp [--json] [--base-url URL] [--org ORGANIZATION] [url|serve|check|add]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang skill`

Install the Giz Skill for the AI agents on this machine (`npx skills`).

```sh
giz skill [--json] [--base-url URL] [--org ORGANIZATION] [install]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang engine`

Run the official Claude Code with your Claude subscription in an isolated git worktree (`--dir PATH`); progress lines, then the diff, files and summary.

```sh
giz engine [--json] [--base-url URL] [--org ORGANIZATION] [run claude PROMPT...]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

## `gizlang update`

Update an npm installation of `giz` with the package manager that installed it; another installation updates with `giz upgrade`.

```sh
giz update [--json] [--base-url URL] [--org ORGANIZATION]
```

| Option | Meaning |
| --- | --- |
| `--json` | Write the result, or the error, as JSON. |
| `--base-url URL` | Another Giz deployment than https://www.giz.ai (or GIZ_URL). |
| `--org ORGANIZATION` | The organization to work in (or GIZ_ORGANIZATION). |

| Exit status | Meaning |
| --- | --- |
| 0 | Success. |
| 1 | The request failed or was refused. The error and a hint are on stderr. |
| 2 | The command line is wrong. The usage is on stderr. |

