Command Resolution Intelligence

Know exactly
what runs and where.

Resolv locates any command's executable across your entire PATH in milliseconds. Stop guessing which binary gets invoked. Start knowing.

resolv β€” PATH traversal
$ resolv node
/usr/local/bin/node
 
$ resolv -a python3
/usr/local/bin/python3
/usr/bin/python3
 
$ resolv git
/usr/bin/git
14M+
Lookups per month
<1ms
Average resolution time
99.97%
Resolution accuracy
8,400+
Teams resolving daily

Every resolution capability
you'll ever need.

From single-binary lookups to full multi-path traversal with alias awareness. Resolv gives you complete control over command resolution.

πŸ“

Instant Resolveβ„’

Pass any command name and receive the full executable path in sub-millisecond time. The same algorithm your shell uses β€” now as a first-class product.

resolv node β†’ /usr/local/bin/node
πŸ”

Multi-Match Discovery

The -a flag scans every directory in PATH and surfaces all matching executables, not just the first. See your entire resolution landscape.

resolv -a python3
🎭

Alias Intelligence

Pipe alias definitions via --read-alias and Resolv identifies which of your aliases match. Debug alias collisions before they cause incidents.

alias | resolv --read-alias git
βš™οΈ

Function Awareness

Shell functions can shadow binaries. Use --read-functions to feed function definitions and get complete resolution context.

declare -f | resolv --read-functions
πŸ”’

Skip Dot Paths

Eliminate untrusted dot-prefixed directories with --skip-dot. Harden your resolution pipeline against path injection attacks.

resolv --skip-dot npm
🏠

Tilde Normalization

The --show-tilde flag replaces HOME directory paths with ~ for clean, portable output. Because readability compounds.

resolv --show-tilde cargo β†’ ~/bin/cargo
πŸ›‘οΈ

Skip Tilde Guard

Use --skip-tilde to exclude HOME-relative directories and user-space executables. Enterprise-grade binary isolation for production environments.

resolv --skip-tilde node
⚑

Binary-Only Mode

Combine --skip-alias and --skip-functions to bypass all shell abstractions and resolve strictly to filesystem executables.

resolv --skip-alias --skip-functions ls

Visualize your resolution chain.

Watch Resolv traverse each directory in your PATH, checking for the executable in real time. Full transparency into the resolution pipeline.

$ resolv
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/opt/homebrew/bin
/home/user/.cargo/bin

Step through every directory.

Our waterfall view shows how Resolv evaluates each PATH entry in order, so you can debug resolution conflicts at a glance.

$ resolv -a python3
1
/usr/local/bin
βœ“ FOUND
/usr/local/bin/python3
2
/usr/bin
βœ“ FOUND
/usr/bin/python3
3
/bin
βœ— NOT FOUND
β€”
4
/usr/sbin
βœ— NOT FOUND
β€”
5
/sbin
βœ— NOT FOUND
β€”
Resolved: 2 matches across 5 directories in 0.4ms

See every executable, not just the first.

Standard resolution stops at the first match. Resolv's -a flag reveals every instance of a command hiding across your PATH β€” critical for debugging version conflicts.

Default (first match)
$ resolv gcc
/usr/bin/gcc
vs
With -a (all matches)
$ resolv -a gcc
/usr/bin/gcc
/usr/local/bin/gcc
/opt/gcc-13/bin/gcc

Four steps to total resolution clarity.

01

Input Command

Pass any command name to Resolv. Our intake engine parses arguments, flags, and options with zero ambiguity.

02

Traverse PATH

Resolv walks every directory listed in your $PATH environment variable, in order, using the same algorithm as bash β€” no approximations.

03

Match & Verify

Each directory is checked for an executable matching your query. With -a, every match is collected. No directory is skipped unless you say so.

04

Return Full Path

The complete, absolute filesystem path is returned to stdout. Exit code 0 on success, non-zero on failure. Deterministic. Reliable. Done.

Try Resolv right now.

Type a command below to see instant resolution in action.

resolv interactive session
Welcome to Resolv v3.2.1 β€” Command Resolution Intelligence
Type a command to resolve, or "resolv -a <cmd>" for multi-match.
 
$

Resolution at every scale.

From solo developers to enterprise fleets. Every plan includes our core PATH traversal engine.

Starter
$0/mo

For hobby developers who need basic resolution.

  • Single command lookup
  • First match only (no -a)
  • 10 resolutions per day
  • Standard PATH order
  • Community support
Get Started
Team
$49/seat/mo

Shared resolution policies and audit trails for teams.

  • Everything in Pro
  • --skip-dot enforcement
  • --skip-tilde guardrails
  • Binary-Only Mode
  • Resolution audit logs
  • Team PATH policies
  • SSO integration
Contact Sales
Enterprise
Custom

Dedicated resolution infrastructure for mission-critical workloads.

  • Everything in Team
  • --tty-only enforcement
  • Dedicated resolution cluster
  • Custom PATH topologies
  • 99.99% SLA
  • 24/7 priority support
  • On-prem deployment

Trusted by teams that ship.

β˜…β˜…β˜…β˜…β˜…

"We had three different versions of node across our PATH and didn't even know. Resolv's -a flag literally saved our production deploy. This is 10x tooling."

Jordan Kowalski
Jordan Kowalski
Platform Lead at InfraCraft

"I was debugging a PATH issue for two hours before I found Resolv. The PATH Explorer showed me the conflict in seconds. Every developer needs this in their stack."

Samira Reddy
Samira Reddy
Senior SRE at StreamForge

"The --skip-dot feature alone justified our Team plan. We enforce it across all CI runners now. Zero path injection incidents since."

Marcus Liu
Marcus Liu
VP of Security at ShieldOps

"Resolv is the kind of high-leverage tool that compounds. We integrated it into our onboarding β€” every new hire gets resolution clarity from day one. Absolute game-changer."

Tara Novak
Tara Novak
CTO at DockLayer

Frequently asked questions.

What does Resolv actually do?

Resolv takes a command name and returns the full filesystem path of the executable that would be invoked. It searches every directory in your $PATH environment variable, in order, using the same algorithm as your shell. Think of it as complete transparency into command resolution.

What's the difference between default mode and the -a flag?

By default, Resolv returns the first matching executable found in PATH order β€” exactly what your shell would run. The -a flag continues searching through every PATH directory and returns all matches, revealing shadow binaries and version conflicts.

Can Resolv detect aliases and shell functions?

Yes. With --read-alias, you can pipe your alias definitions and Resolv will factor them into resolution. Similarly, --read-functions handles shell functions. Use --skip-alias and --skip-functions to bypass them when needed.

Is this secure for production environments?

Absolutely. Features like --skip-dot and --skip-tilde eliminate untrusted PATH entries. Our Team and Enterprise plans add audit logging and policy enforcement on top. SOC 2 compliance is in progress.

What happens if the command isn't found?

Resolv returns a non-zero exit code equal to the number of failed lookups. When no matching executable exists in any PATH directory, you get a clear, deterministic failure signal β€” no ambiguity.

Start resolving with confidence.

Join thousands of developers who've stopped guessing and started knowing. Free tier available β€” no credit card required.

Join 8,400+ teams already on the platform.

Backed by mandō