---
title: "CLI Overview"
description: "Complete reference for all fp-appimage-updater commands and global flags."
---

Invoke `fp-appimage-updater` with an optional set of global flags followed by a subcommand:

```bash
fp-appimage-updater [OPTIONS] <COMMAND>
```

## Global flags

These flags apply to every command and must be placed before the subcommand.

<ParamField query="-c, --config <PATH>" type="string">
  Override the default configuration directory. Use this to point to a custom
  config location instead of `~/.config/fp-appimage-updater/`.
</ParamField>

<ParamField query="--json" type="boolean">
  Emit machine-readable JSON output instead of human-readable tables and status
  lines. Works with `init`, `validate`, `doctor`, `list`, `check`, `update`,
  and `remove`.
</ParamField>

<ParamField query="-h, --help" type="boolean">
  Print help information and exit.
</ParamField>

<ParamField query="-V, --version" type="boolean">
  Print the current version and exit.
</ParamField>

## Command Groups

### Setup & Diagnostics

These commands help you get started and ensure your local environment is correctly configured.

| Command | Description |
|---|---|
| [`init`](/cli/init) | Initialize starter configuration files |
| [`validate`](/cli/check-update#validate) | Validate application recipe files |
| [`doctor`](/cli/check-update#doctor) | Run health checks for local setup |

### App Management

The core commands for keeping your AppImages up to date and managing their installation state.

| Command | Description |
|---|---|
| [`check`](/cli/check-update#check) | Check for available updates |
| [`update`](/cli/check-update#update) | Update apps to their latest versions |
| [`list`](/cli/manage#list) | List all configured apps and their status |
| [`remove`](/cli/manage#remove) | Remove an app and its integrations |

### System Utilities

Commands for maintaining the updater itself and improving your terminal experience.

| Command | Description |
|---|---|
| [`self-update`](/cli/manage#self-update) | Update fp-appimage-updater itself |
| [`completion`](/cli/manage#completion) | Generate shell completion scripts |

<Note>
  Pass `--json` before any of the following commands to get structured JSON
  output: `init`, `validate`, `doctor`, `list`, `check`, `update`, `remove`.
</Note>

## Examples

<CodeGroup>

```bash JSON Output
# List all apps in JSON format
fp-appimage-updater --json list
```

```bash Custom Config
# Check for updates using a custom configuration directory
fp-appimage-updater -c ~/my-config check
```

```bash JSON and jq
# Update a single app and extract its download URL from JSON
fp-appimage-updater --json update whatpulse | jq '.[0].download_url'
```

</CodeGroup>

