Skip to main content
Walk the symbol-level call chain for one exported symbol: callers up (modules that import the symbol) and callees down (import-symbol edges plus intra-module call sites), bounded by --depth. trace is its own surface for following how a symbol connects through the codebase before you change it.
fallow trace src/api.ts:fetchUser --format json --quiet
fallow trace src/api.ts:fetchUser --callers --depth 2
fallow trace is a standalone, best-effort symbol-level surface. It is not folded into the ranked review brief and is never an input to the focus map or its ranking. Use it when you want to see how a symbol connects, not when you want a prioritized review.

Target

fallow trace takes one positional argument in FILE:SYMBOL form:
fallow trace src/api.ts:fetchUser
FILE is a project-relative path and SYMBOL is the exported symbol name.

Options

FlagDescription
--callersWalk only the callers direction (modules that import the symbol).
--calleesWalk only the callees direction (import-symbol edges plus intra-module call sites).
--depth <N>Bound the walk depth in each requested direction.
When neither --callers nor --callees is set, both directions are walked.

Common Flags

trace accepts the global project and performance flags:
FlagDescription
-r, --root <PATH>Project root directory.
-c, --config <PATH>Path to a fallow config file.
-f, --format <FORMAT>Output format: human (default) or json.
-q, --quietSuppress progress and status output on stderr.
--no-cacheDisable incremental parse cache.
--threads <N>Parser thread count.
--changed-since <REF>Scope file discovery to files changed since this git ref.

How it works

trace walks the module graph in two directions from the target symbol:
  1. Callers (up): the modules that import the symbol, followed up to --depth levels.
  2. Callees (down): the import-symbol edges out of the symbol’s module plus the intra-module call sites, followed down to --depth levels.
The walk is best-effort and syntactic. Resolved and unresolved callees are reported honestly: an unresolved callee (for example, a dynamic call fallow cannot statically resolve) is surfaced as unresolved rather than silently dropped, so the chain reflects what fallow could and could not follow. Because it is a standalone surface, trace never feeds the review brief’s focus map or its ranking. The same best-effort call-chain data is available as opt-in evidence on fallow inspect --symbol-chain and the inspect_target MCP tool’s symbol_chain option.

See also

Inspect a target

Compose one evidence bundle for a file or exported symbol, with opt-in --symbol-chain.

Audit and review brief

Changed-file verdict plus the graph-derived review brief and decision surface.

MCP integration

Use fallow tools from AI coding agents.