FreeBSD Manual Pages
PKGCLI(1) pkgcli PKGCLI(1)
.SH "NAME" pkgcli - command-line client for PackageKit
.SH "SYNOPSIS"
.HP 168u
pkgcli
[GLOBAL-OPTIONS...]
COMMAND
[COMMAND-OPTIONS...]
[ARGUMENTS...]
.SH "DESCRIPTION"
.PP pkgcli is a command line client for PackageKit, a distribution-neutral
interface to the operating system's package manager. It provides a set of
subcommands for querying and managing software packages, repositories and
transaction history.
.PP Use pkgcli --help to get a list of available commands, and pkgcli
COMMAND --help for command-specific help.
.SH "GLOBAL OPTIONS"
.PP The following options are parsed before the command name and affect
most subcommands:
.PP -v, --version
Show the pkgcli version and exit.
.RE
.PP -h, --help
Show generic help and a list of available commands.
.RE
.PP -q, --quiet
Only provide minimal output.
.RE
.PP --verbose
Show more detailed and debug-style output.
.RE
.PP --json
Output results in JSON format suitable
for consumption by other tools. Output is generated
in the JSONL (JSON Lines) format, with one JSON
object per line.
.RE
.PP --no-color
Disable colored terminal output. This
is also enabled when the NO_COLOR environment
variable is set.
.RE
.PP -y, --yes
Answer "yes" to all questions and
run in non-interactive mode.
.RE
.PP -f, --filter=FILTER
Apply one or more filters
when querying packages, such as
restricting results to installed or
available packages. You can view all
supported filter options by running
pkgcli organization.
.RE
.PP -n, --background
Hint that the command is
not urgent and may use idle network
bandwidth and power-saving settings
where supported.
.RE
.SH "COMMANDS"
.PP The following commands are
available:
.PP backend
Display information
about the PackageKit backend
currently in use, including the
backend name, version, and the
roles it supports.
.RE
.PP history
Show a list of
recent package management
transactions (like
installation, removal, and
update operations performed
on the system).
.RE
.PP search
Search for
packages matching a
given pattern. The
first argument may
optionally be one of
name, details, file or
group, to limit the
search to the selected
domain. If only one
argument is given, a
search across package
details (name, summary,
and description) is
performed.
.RE
.PP list
List
packages,
optionally filtered
by installation
status or name
pattern. Use with
--filter to show
only installed,
available, or other
categories of
packages.
.RE
.PP show
Display
detailed
information
about one or
more packages,
including
version, size,
description,
license, and
repository
information.
.RE
.PP
list-depends
List
all
packages
that the
specified
package
depends on.
Use the
--recursive
flag to
list
dependencies
of the
entire
chain.
.RE
.PP
list-requiring
List
packages
that
depend
on or
require
the
specified
package.
.RE
.PP
what-provides
Find
and
list
packages
that
provide
a
given
capability,
shared
library,
or
file
path.
.RE
.PP
files
Display
a
list
of
all
files
contained
in
the
specified
package.
.RE
.PP
list-updates
List
all
available
package
updates
for
installed
software.
.RE
.PP
show-update
Display
detailed
information
about
a
specific
update,
including
changelog
entries,
security
advisories,
and
other
update
metadata.
.RE
.PP
resolve
Resolve
package
names
or
identifiers
to
their
package
state,
showing
whether
they
are
installed,
available,
or
unavailable.
.RE
.PP
organization
Display
available
package
filters
(such
as
installed,
available,
newest),
groups
(such
as
system,
development,
graphics),
and
categories
that
can
be
used
to
query
packages.
.RE
.PP
show-os-upgrade
Check
for
and
display
information
about
available
operating
system
or
distribution
upgrades,
such
as
upgrades
to
a
newer
OS
release.
.RE
.PP
last-time
Show
the
elapsed
time
since
the
last
transaction
of
a
specified
role
occurred,
such
as
the
last
package
update
or
cache
refresh.
.RE
.PP
refresh
Refresh
the
local
package
metadata
cache
by
downloading
the
latest
package
information
from
configured
repositories.
This
should
be
run
before
checking
for
updates
or
searching
for
new
packages.
.RE
.PP
install
Install
one
or
more
packages
by
name,
or
install
local
package
files
if
a
path
is
provided
instead
of
a
package
name.
.RE
.PP
remove
Remove
one
or
more
installed
packages
from
the
system.
This
may
also
remove
dependent
packages
if
they
are
no
longer
needed.
Use
with
the
--autoremove
option
to
clean
up
unused
packages
as
well.
.RE
.PP
update
Install
available
updates
for
all
installed
packages
on
the
system,
or
for
specific
packages
if
specified
as
arguments.
.RE
.PP
upgrade
Perform
a
system
upgrade
to
newer
package
versions
or
a
new
distribution
release.
This
may
involve
major
version
updates
and
significant
changes.
.RE
.PP
download
Download
package
files
to
the
local
system
without
installing
them.
This
is
useful
for
offline
installation
or
package
inspection.
.RE
.PP
offline-update
Prepare,
trigger,
cancel,
or
inspect
offline
system
updates.
Offline
updates
are
applied
during
system
boot
before
the
desktop
environment
starts,
allowing
critical
system
packages
to
be
updated
safely.
.RE
.PP
install-sig
Install
a
cryptographic
signature
for
a
package
to
verify
its
authenticity
and
integrity.
.RE
.PP
repair
Attempt
to
automatically
repair
problems
with
the
package
management
system,
such
as
broken
dependencies,
corrupted
databases,
or
interrupted
transactions.
.RE
.PP
quit
Request
the
PackageKit
daemon
to
terminate
gracefully
after
completing
any
ongoing
operations.
The
daemon
will
restart
automatically
when
needed.
.RE
.PP
repo-list
Display
a
list
of
all
configured
software
repositories,
showing
their
identifiers,
descriptions,
and
enabled/disabled
status.
.RE
.PP
repo-enable
Enable
a
previously
disabled
repository,
allowing
packages
from
that
repository
to
be
installed
and
updated.
.RE
.PP
repo-disable
Disable
a
repository,
preventing
packages
from
that
source
from
being
installed
or
updated
while
keeping
the
repository
configuration.
.RE
.PP
repo-remove
Completely
remove
a
repository
from
the
system
configuration.
This
is
permanent
and
the
repository
will
need
to
be
re-added
if
needed
later.
Takes
a
repository-ID
as
parameter.
.RE
.PP
monitor
Monitor
and
display
real-time
PackageKit
transaction
events
and
status
changes
on
the
bus.
This
is
useful
for
debugging
or
observing
package
management
activity.
.RE
.PP
Use
pkgcli
COMMAND
--help
for
detailed
usage
information
including
supported
options
and
arguments
for
each
command.
.SH
"EXIT
STATUS"
.PP
The
following
exit
codes
are
used
by
pkgcli:
.PP
0
The
command
completed
successfully.
.RE
.PP
1
A
non-specific
error
occurred.
.RE
.PP
2
Invalid
syntax
or
command-line
options
were
supplied.
.RE
.PP
3
Insufficient
permissions
to
perform
the
requested
operation.
.RE
.PP
4
Required
information
or
packages
could
not
be
found.
.RE
.PP
5
The
transaction
failed.
.RE
.PP
Additional
exit
codes
may
be
used
for
more
specific
failure
conditions
by
individual
commands.
.SH
"ENVIRONMENT"
.PP
NO_COLOR
When
set
to
any
non-empty
value,
disables
colored
output,
equivalent
to
passing
--no-color.
.RE
.SH
"EXAMPLES"
.PP
Search
for
packages
related
to
text
editors
pkgcli
search
editor
.RE
.PP
Search
only
in
package
names
pkgcli
search
name
python3
.RE
.PP
Show
detailed
information
about
a
package
pkgcli
show
nano
.RE
.PP
Install
a
package
non-interactively
pkgcli
--yes
install
nano
.RE
.PP
List
all
installed
packages
pkgcli
--filter=installed
list
.RE
.PP
Check
for
available
updates
pkgcli
refresh
&&
pkgcli
list-updates
.RE
.PP
List
dependencies
of
a
package
pkgcli
list-depends
inkscape
.RE
.PP
Find
which
package
provides
the
AV1
GStreamer
codec
pkgcli
what-provides
"gstreamer1(decoder-video/x-av1)"
.RE
.SH
"SEE
ALSO"
.PP
appstreamcli(1),
and
the
PackageKit
documentation
at
https://www.freedesktop.org/software/PackageKit/.
AUTHORS
Matthias Klumpp <matthias@tenstral.net>
Developer
Richard Hughes <richard@hughsie.com>
Developer
COPYRIGHT
Copyright (C) 2012-2026 Matthias Klumpp
PackageKit 26. November 2025 PKGCLI(1)
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pkgcli&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>
