reachable
Find all symbols that transitively call a target to assess full upstream impact before changing a function, computing the call-graph closure in one call.
Instructions
Every symbol that transitively calls target (the full upstream blast radius). Prefer over repeated callers walks when assessing the impact of changing a function — reachable does the closure in one call. Requires a v4 index with call graph.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results | |
| target | Yes | Exact symbol name whose callers (direct + transitive) you want. | |
| exclude | No | Blacklist results by path glob; wins over include (repeatable) | |
| include | No | Whitelist results by path glob, gitignore syntax (repeatable) | |
| max_hops | No | Maximum hops to walk back from target | |
| workspace | No | Multi-repo: fan out across every repo declared in the nearest `.vex-workspace.toml` (set `project_root` at or above it — the manifest is found by walking up). Results become an object `{workspace, repos:[...]}` grouped by repo, NOT the flat per-tool array — branch on shape. `why` is ignored in workspace mode (single-repo only). | |
| auto_update | No | Auto-update the index if stale, or bootstrap it if missing, before running (default: true) | |
| async_update | No | With auto_update, refresh a stale index in the background instead of waiting for it: results come from the index already on disk and _meta.vex.dev/stale says so (default: false) | |
| project_root | No | Absolute path to the project root (defaults to the MCP working directory) | |
| exclude_tests | No | Drop test files from the results (tests/ dirs, *_test.*, test_*.py, *.spec.ts, __tests__/, tests.rs, ...; same set as tests_for). Composes with include/exclude. Path-based only: Rust unit tests inside a `#[cfg(test)] mod tests` block of a non-test file are not excluded. | |
| no_stale_check | No | Skip the staleness check that runs before each call; assumes the index is fresh. Redundant when `auto_update` is true. |