---
name: coprctl
description: Manage Fedora Copr projects, packages, chroots, builds, build
  logs, and GitHub webhook integrations from the command line.
---

# coprctl

`coprctl` is the CLI for Fedora Copr. Prefer it over raw `curl` against
`/api_3` and over `copr-cli`.

## Before anything else
- `coprctl auth status` confirms the profile and warns if the token is near expiry.
- Output defaults to JSON when stdout is not a TTY.
- Exit codes are meaningful: 4 = build failed, 8 = not found, 12 = drift.

## Reference

Generated from the command registry; every command below exists.

- `coprctl` - A reimagined CLI for the Fedora Copr build system
  - `coprctl apply` - Reconcile a project to match the manifest
  - `coprctl auth` - Inspect and manage credentials
    - `coprctl auth login` - Open the instance API page and import a fresh token
    - `coprctl auth rotate` - Rotate the API token and update the profile
    - `coprctl auth status` - Show who you are and whether the token is near expiry
  - `coprctl build` - Manage Copr builds
    - `coprctl build cancel` - Cancel a build
    - `coprctl build delete` - Delete one or more builds
    - `coprctl build get` - Show a build
    - `coprctl build list` - List builds for a project
    - `coprctl build rebuild` - Rebuild a package from its stored source definition
    - `coprctl build reproduce` - Print the local mock reproduction recipe from a build log
    - `coprctl build srpm` - Build a source RPM from a local spec (container, native, or mock)
    - `coprctl build submit` - Submit a build
    - `coprctl build watch` - Watch a build until it reaches a terminal state
  - `coprctl chroot` - The instance chroot catalog (mock chroots)
    - `coprctl chroot list` - List the chroot catalog
  - `coprctl compat` - Translate a copr-cli invocation to coprctl
  - `coprctl completion` - Generate shell completion scripts
    - `coprctl completion bash` - Generate bash completion
    - `coprctl completion fish` - Generate fish completion
    - `coprctl completion powershell` - Generate powershell completion
    - `coprctl completion zsh` - Generate zsh completion
  - `coprctl config` - Manage configuration and profiles
    - `coprctl config import` - Import credentials from pasted copr config, flags, or prompts
    - `coprctl config migrate` - Import the legacy ~/.config/copr config into a named profile
    - `coprctl config set` - Set a configuration value (token is read from a prompt, not argv)
    - `coprctl config show` - Show the effective configuration and where each value came from
  - `coprctl detect` - Read-only: infer a project setup from a source repository
  - `coprctl diff` - Show field-level drift between manifest and live project
  - `coprctl doctor` - Diagnose environment issues
  - `coprctl export` - Generate a manifest from a live project
  - `coprctl init` - Scaffold a manifest and create a working Copr project
  - `coprctl integration` - Configure forge webhook integrations
    - `coprctl integration github` - GitHub webhook integration
      - `coprctl integration github enable` - Enable a GitHub webhook for a project
    - `coprctl integration rotate-secret` - Generate a new webhook secret and cache it
    - `coprctl integration url` - Print the Copr webhook URL for a project
  - `coprctl log` - Tail and inspect build logs
    - `coprctl log detective` - Ask log-detective.com to explain a failing build log
    - `coprctl log failures` - Extract the failing region from each failed chroot of a build
    - `coprctl log tail` - Tail build logs (a build id, build/chroot, or ref)
  - `coprctl mcp` - Model Context Protocol server
    - `coprctl mcp serve` - Serve the command surface as MCP tools over stdio
  - `coprctl monitor` - Show a package-by-chroot state matrix for a project
  - `coprctl package` - Manage Copr packages
    - `coprctl package create` - Create a package
    - `coprctl package delete` - Delete a package
    - `coprctl package edit` - Edit a package's source definition
    - `coprctl package get` - Show a package's source definition
    - `coprctl package list` - List packages in a project
    - `coprctl package reset` - Clear a package's stored source definition
  - `coprctl project` - Manage Copr projects
    - `coprctl project chroot` - Manage project chroots
      - `coprctl project chroot disable` - Disable chroots on a project
      - `coprctl project chroot enable` - Enable chroots on a project (additive)
      - `coprctl project chroot list` - List the chroots enabled on a project
    - `coprctl project create` - Create a project
    - `coprctl project delete` - Delete a project
    - `coprctl project edit` - Edit project settings
    - `coprctl project fork` - Fork a project
    - `coprctl project get` - Show a project
    - `coprctl project list` - List projects
    - `coprctl project regenerate-repos` - Regenerate repository metadata for a project
  - `coprctl schema` - Emit the command tree as JSON or markdown
  - `coprctl skill` - Print or install bundled agent skills
    - `coprctl skill install` - Install a skill into an agent skills directory
    - `coprctl skill list` - List bundled skills
    - `coprctl skill print` - Print a skill to stdout (default: coprctl)
  - `coprctl status` - One-shot project health summary; exits 4 on failed builds
  - `coprctl sync` - Reconcile the manifest against the source repo and Copr
  - `coprctl try` - Local preflight build (container, mock, or native)
  - `coprctl ui` - Interactive project dashboard (degrades to plain output off a TTY)
  - `coprctl validate` - Validate a manifest without any network calls
  - `coprctl version` - Print version and build information

## Related skills
- `coprctl-debug` - how to debug a failing build and test a fix locally.
