fallow inspect
Get all the context for one file or exported symbol before you edit it. Fallow inspect combines trace, dead-code, duplication, complexity, and security evidence in one bundle.
Before you edit a file or exported symbol, get all its evidence in one bundle with fallow inspect. The command is for agents that need the same context as the MCP inspect_target tool, without an MCP session.
fallow inspect --file src/api.ts --format json --quiet
fallow inspect --symbol src/api.ts:fetchUser --format json --quiet
Target
Choose exactly one target form:
| Flag | Description |
|---|---|
--file <PATH> | Inspect a project-relative file. |
--symbol <FILE:EXPORT> | Inspect one exported symbol, for example src/api.ts:fetchUser. In the first version, the dead-code, duplication, complexity, and security evidence covers the whole file. |
Evidence flags
| Flag | Description |
|---|---|
--symbol-chain | Also add the best-effort symbol-level call chain as a symbol_chain evidence section. This is the same data as fallow trace. Useful only for a symbol target. Default off, because the chain is best-effort, syntactic, and off the ranked path. |
--churn | Also add git churn evidence for the target as a churn evidence section. Default off, because it reads the git history and makes the command slower. When fallow cannot read the history, the section has the status unavailable. |
Output
| Format | Description |
|---|---|
human | Compact target and identity summary. |
json | A kind: "inspect_target" bundle with the normalized target identity and the evidence sections. Use this format from agents. |
{
"kind": "inspect_target",
"target": {
"type": "file",
"file": "src/api.ts"
},
"identity": {
"file": "src/api.ts",
"is_reachable": true,
"is_entry_point": false,
"export_count": 3,
"import_count": 2,
"imported_by_count": 1
},
"evidence": {
"trace_file": { "status": "ok", "scope": "file", "data": {} },
"dead_code": { "status": "ok", "scope": "file", "data": {} },
"duplication": { "status": "ok", "scope": "project_filtered_to_file", "data": {} },
"complexity": { "status": "ok", "scope": "project_filtered_to_file", "data": {} },
"security": { "status": "ok", "scope": "file", "data": {} },
"impact_closure": { "status": "ok", "scope": "project_filtered_to_file", "data": {} }
},
"warnings": []
}
Each evidence section has a status and a scope. The status is ok, partial (the type-aware backend reported incomplete coverage), unavailable (the analysis cannot run in this environment), or error. When one analysis in the bundle fails, and the failure is not fatal, fallow reports an error in that section and adds a warning. You can still use the rest of the bundle.
impact_closure uses the target file as the seed. It lists the files that a change to the target can affect. For a symbol target in type-aware mode, the bundle also has the semantic_trace, api_surface, symbol_impact, and targeted_tests sections.
inspect accepts the project and performance flags: --root, --config, --workspace, --production, --no-cache, and --threads. For the full list, see global flags.
MCP parity
The MCP inspect_target tool uses the same CLI flow and returns the same JSON shape. When you already work in a shell or an editor command, use the CLI. When an agent is already connected to the MCP server, use MCP.