pip install cleanly yet expose no resolvable tools β a silent failure. tools add turns that into a surfaced non-zero exit.
Quick Start
1
Install a tool package
praisonai-my-tools is a placeholder β replace it with a real pip requirement spec.2
Upgrade an installed package
3
Verify without installing
--dry-run skips installation and reports whether any new tool would resolve from whatβs already installed.How It Works
The command snapshots resolvable tools, installs, builds a fresh resolver, then reports the diff.Options
How the Installer Is Chosen
Installation is pinned to the interpreter running the CLI so the package lands where discovery will look. See plugins add β How the Installer Is Chosen for the shared decision diagram β both commands use the same_resolve_installer() logic.
Exit Codes
Output Shape
A successful run prints a Rich table titledRegistered N tool(s) from <package>, with the toolβs resolution source:
ToolResolver.list_available_sources() and are one of:
On
--dry-run the title verb is Discovered instead of Registered.
Common Patterns
- Default (pin to CLI interpreter)
- Global install
- CI verification
uv is present, the package is pinned to the CLI interpreter so a fresh resolver sees it.Best Practices
Construct a fresh resolver in wrapper scripts
Construct a fresh resolver in wrapper scripts
If you script installs yourself, build a new
ToolResolver() after installing β invalidate() clears only the per-name cache, not instance-level availability caches.Use --dry-run in CI to catch silent breakage
Use --dry-run in CI to catch silent breakage
A package can install cleanly yet expose no tools.
--dry-run exits non-zero when discovery finds nothing new.Prefer the default over --global
Prefer the default over --global
The default pins to the CLI interpreter so the tools are resolvable by the same process. Reach for
--global only when you want the system environment.Inspect after installing
Inspect after installing
Run
praisonai tools list to see every resolvable tool and its source, not just what this command added.Related
plugins add
Install a plugin package and verify it registered
Tool Source Registry
Plug third-party tool sources via entry points
Tool Resolver
Single source of truth for loading tools
Tool Discovery Order
How Agent resolves tool names at runtime

