---
name: "gt-run-watch"
section: "1"
platform: "linux"
package: "gitea-cli"
version: "1.0.0-1"
release: "Arch Linux 2026-11-07"
platforms: ["linux"]
url: "https://carta.tech/man/gt-run-watch"
---

# gt-run-watch(1)

Watch a run until it completes

## NAME

gt-run-watch - Watch a run until it completes

## SYNOPSIS

**gt run watch \[\<run-id\>\] \[flags\]**

## DESCRIPTION

Watch a run until it completes, refreshing its jobs and steps on a terminal.

The command exits with 5 when the run completes without success, with 3 when --timeout expires, and with 1 when gt itself fails, such as on a rejected request. It polls on through an outage of the instance of up to 5 minutes.

With --expect-head, it exits with 6 before waiting when the run is for another commit, such as one an earlier push triggered. A full or abbreviated SHA matches the start of the run's commit; another revision, such as HEAD, is resolved in the local clone.

### ARGUMENTS

```
A run can be supplied as its ID ("34", "#34") or its URL
("https://gitea.example.com/OWNER/REPO/actions/runs/34"). Without an argument,
gt asks for one of the repository's recent runs in a terminal.
```

### JSON FIELDS

```
actor, attempt, branch, commit, completed_at, conclusion, created_at, event,
id, jobs, run_number, started_at, status, title, updated_at, url, workflow,
workflow_path
```

## OPTIONS

**--expect-head**=""\
 	Fail unless the run is for this **commit**: a SHA, or a revision of the local clone

**-h**, **--help**\[=false\]\
 	help for watch

**-i**, **--interval**=3s\
 	Refresh interval

**--timeout**=1h0m0s\
 	Maximum time to wait

## OPTIONS INHERITED FROM PARENT COMMANDS

**--csv**\[=""\]\
 	Output CSV with the specified comma-separated **fields**, or all fields

**--cwd**=""\
 	Working **directory** for repository discovery

**--debug**\[=false\]\
 	Log the method, URL, status, and duration of each HTTP request to stderr

**--host**=""\
 	Gitea instance **URL**, including any base path

**--interactive**\[=false\]\
 	Allow prompts with machine output

**-q**, **--jq**=""\
 	Filter JSON output using a jq **expression**; implies --json

**--json**\[=""\]\
 	Output JSON with the specified comma-separated **fields**, or all fields

**--no-input**\[=false\]\
 	Disable prompts and implicit editor/browser interactions

**--remote**=""\
 	Git **remote** used for repository discovery

**-R**, **--repo**=""\
 	Select a repository as **OWNER/REPO** or URL

**--sudo**=""\
 	Perform API requests as this **user** (requires an administrator account)

**--user**=""\
 	Account **name** on the selected instance

## EXAMPLE

```
# watch a run
$ gt run watch 34
# pick one of the runs in progress
$ gt run watch
# wait for a run in a script, for at most 10 minutes
$ gt run watch 34 --timeout 10m && echo deployed
# wait only if the run is for the commit checked out
$ gt run watch 34 --expect-head HEAD
```

## SEE ALSO

**[gt-run(1)](/man/gt-run/1.md)**
