Home

findprogram

Findprogram is a cross-platform command-line tool and library designed to locate executable programs and related files on a computer. It searches common execution paths and application directories, and can integrate with package manager registries to identify the correct installed instance of a given program. The utility resolves symbolic links and reports canonical paths, while providing metadata such as version information when available. Its goal is to offer a consistent way to determine program availability across diverse environments.

The project supports multiple operating systems, including Linux, Windows, and macOS, and is implemented in a

Key features include path discovery through PATH and standard directories, integration with package managers (such as

Usage commonly involves querying a single program name, requesting all matches, or formatting output for scripts.

modular
fashion
to
allow
embedding
in
scripts
or
other
software.
It
can
operate
as
a
standalone
binary
or
as
a
library
with
APIs
for
languages
such
as
C,
Python,
and
others.
A
plugin
system
enables
extensions
for
additional
package
managers,
custom
search
paths,
and
specialized
heuristics
for
locating
nonstandard
installations.
The
design
emphasizes
predictable
output,
deterministic
behavior,
and
fast
repeated
queries
through
caching.
apt,
dnf,
brew,
winget,
and
choco),
and
version
detection
when
available.
It
supports
multiple
candidates,
configurable
priority
rules,
and
the
option
to
select
a
preferred
result
or
report
all
matches.
Output
formats
include
plain
text
and
structured
formats
like
JSON
to
facilitate
automation,
with
exit
codes
indicating
success
or
failure.
For
example,
a
user
might
run
findprogram
python3
to
obtain
its
path,
or
findprogram
--format
json
gcc
to
obtain
machine-readable
data.
See
also
related
utilities
such
as
which,
where,
and
command
-v
in
various
shells.