Skip to main content
Read a runtime stack trace and ask the module graph which definitions its frames name. trace-error classifies every frame as in-project, inside an installed dependency, or outside the analyzed corpus, then resolves the in-project ones against the definitions fallow already extracted.
The trace comes from a file argument, from -, or from stdin when no argument is given. A relative path is resolved against the project root, matching --diff-file. V8 and Node traces are supported, as are SpiderMonkey and JavaScriptCore traces.
trace-error is a standalone, best-effort surface. It is not folded into the ranked review brief and is never an input to the focus map or its ranking.

What it refuses to do

The command reports what it could not answer instead of guessing.
  • A frame matching several definitions reports ambiguous and lists all of them rather than picking one.
  • A frame matching nothing reports not_found rather than disappearing from the output.
  • A frame the graph was never asked about reports not_attempted, with the reason.
  • Every frame read stays in frames[] in input order, and counts publishes the per-outcome totals, so you can see what went unanswered.
No source maps are read. A frame inside generated build output is reported as such, because a stale map rebinds silently to the wrong line and a wrong line is worse than no line.

Options

trace-error takes the project, output, and performance global flags: --root, --config, --format with human or json, --pretty, --quiet, --no-cache, and --threads.

Human output

$ fallow trace-error crash.txt
Each frame prints its origin and resolution as a [origin/resolution] pair, with the reason on the indented line below.

JSON output

$ fallow trace-error crash.txt --format json

Key fields

counts is the honest total. Both resolved + ambiguous + not_found + not_attempted and in_project + node_modules + out_of_corpus equal frames on every run, so a consumer can verify nothing was dropped without walking the array. A trace that is entirely unrecognised reports zero frames and a non-zero unparsed_lines, rather than looking like an empty trace.

For agents

The trace_error MCP tool wraps this command. Feed it the stack trace from a failing test or a production error, then read frames[].candidates[] for the files worth opening. Treat not_found on an in-project frame as a signal that the name is module-local rather than exported, not as a missing file.

See also

fallow trace

Walk a symbol’s call chain, or find the shortest import path between two modules.

Inspect a target

Compose one evidence bundle for a file or exported symbol.

MCP integration

Use fallow tools from AI coding agents.