---
title: "Global options & exit codes"
description: Flags every wiblo command accepts, and what the exit codes mean.
canonical_url: https://wiblo.app/docs/developers/cli/global-options
last_updated: 2026-07-28T17:12:38+02:00
md_url: https://wiblo.app/docs/developers/cli/global-options.md
---

# Global options & exit codes

Every command accepts these flags:

| Flag | Short | Description |
| --- | --- | --- |
| `--help` | `-h` | Print the command's help and exit. |
| `--version` | `-v` | Print the CLI version (root command only). |
| `--debug` | `-d` | Verbose debug logging on stderr. |
| `--json` | | Print machine-readable JSON instead of the table view. |
| `--non-interactive` | | Never prompt; fail with a structured error instead. `--non-interactive=false` forces prompts back on. |
| `--token` | `-t` | Use this token for the run instead of the stored session. Disabled on `wiblo login`. |
| `--workspace` | | Workspace to run against (slug or id). The `repos` commands interpret this as a workspace uuid. |
| `--cwd` | | Run as if started from this directory. |

> **--token in a terminal**
>
> Passing `--token` interactively prints a warning — a token on the command line lands in your shell history. Prefer the `WIBLO_TOKEN` environment variable in scripts.

## Exit codes

| Code | Meaning |
| --- | --- |
| `0` | Success. |
| `1` | The command failed, or (in agent mode) action is required — the JSON `reason` says which. |
| `2` | Help was shown, or the invocation was invalid (unknown command, bad flags). |

Human-readable status goes to **stderr**; data output (tables, JSON) goes to **stdout**, so pipes stay clean.
