Fuse
Reference

Options

The canonical reference for every Fuse command-line flag, grouped by function, with types and defaults.

Fuse is configured through command-line flags. This page is the canonical list: every flag, its type, its default, and what it does. The shared flags apply to fuse, fuse dotnet, and fuse wiki; the .NET-specific flags apply only to fuse dotnet. The commands fuse init and fuse serve take no flags from this set.

This page is for engineers and maintainers who need exact flag behavior and defaults. For task-oriented usage, follow the guide links at the end of each relevant section.

Purpose And Scope

This page documents flags only. It does not explain the pipeline (see Core Concepts), the configuration file (see Configuration Keys), or the output format (see Output Specification). Where a flag has a config-file equivalent, the config file is the lower-precedence source: an explicit flag always wins. Precedence and the supported keys are in the Configuration Keys reference.

Types in the tables use these conventions: bool is a switch, int is a whole number, string is a single value, string[] is a comma-separated list, and glob[] is a comma-separated list of glob patterns.

Directory Options

FlagTypeDefaultDescription
--directorystringCurrent directoryPath to the directory to process.
--outputstringDocuments/FusePath to the output directory.
--exclude-directoriesstring[]NoneDirectory names to exclude from scanning (for example, Migrations, wwwroot).

Output Options

FlagTypeDefaultDescription
--namestringNone (auto-generated)Output file name without extension. When unset, the name is generated from the project, a timestamp, and a token estimate.
--overwritebooltrueOverwrite the output file when it already exists.

Search Options

FlagTypeDefaultDescription
--recursivebooltrueSearch subdirectories recursively.
--max-file-sizeint (KB)0Maximum file size in KB to process. 0 means unlimited.
--ignore-binarybooltrueSkip binary files during collection.
--parallelismintProcessor countMaximum degree of parallelism for pipeline stages.

Content Options

FlagTypeDefaultDescription
--include-metadataboolfalseInclude file metadata (size, dates) in output entries.
--respect-gitignorebooltrueApply .gitignore rules found in the directory tree.

Token And Output Options

FlagTypeDefaultDescription
--max-tokensintNoneStop emission when this token count is reached.
--split-tokensint800000Split output into multiple parts when this per-part token count is exceeded.
--show-token-countbooltrueDisplay the final token count after fusion completes.
--track-top-token-filesboolfalseDisplay the top token-consuming files after fusion.
--no-manifestboolfalseOmit the manifest header from output.
--tocboolfalseEmit a table of contents (directory tree, symbol outline, per-file token costs) instead of file bodies. A cheap first call for surveying a codebase before fetching files.
--git-statsboolfalseInclude git churn and last-modified statistics in the manifest.
--provenanceboolfalseAnnotate entries with dependency inclusion provenance.
--dedup-headersboolfalseReplace identical leading comment headers shared by two or more files with a marker, emitted once in a preamble.
--sessionstringNoneSession id for session-delta emission: files whose identical content was already emitted under this id are omitted on later runs, with a note listing them. Primarily for the MCP server.
--formatxml | markdown | json | compactxmlOutput format.
--tokenizerstringo200k_baseTokenizer model or encoding name.
--reportstringNoneWrite a machine-readable JSON run report to a file path, or to stdout with -.

The supported tokenizer names are listed in the Tokenizers reference. The format details, including the compact envelope, the header-dedup preamble, and the JSON run report, are in the Output Specification.

Security Options

FlagTypeDefaultDescription
--no-redactboolfalseDisable secret redaction. Redaction is on by default.
--redact-reportboolfalseAppend a redaction count summary to the output.

The kinds of secret Fuse detects are listed in the Secret Redaction Kinds reference.

Exclusion Options

FlagTypeDefaultDescription
--exclude-filesstring[]NoneSpecific file names to exclude (for example, appsettings.Development.json).
--exclude-patternsglob[]NoneGlob patterns for files to exclude (for example, **/Migrations/**, **/*.min.js).
--exclude-empty-filesbooltrueSkip zero-byte files during collection.
--exclude-auto-generatedbooltrueSkip files containing an auto-generated marker in the first few lines.
--changed-sincestring (git ref)NoneScope fusion to files changed since this git ref (branch, commit, or HEAD~N).
--include-dependentsbooltrueInclude first-degree dependents of changed files when scoping by git ref.
--reviewboolfalseWith --changed-since, prepend a review map: each changed file's diff hunks paired with its direct callers.

Extension Options

FlagTypeDefaultDescription
--include-extensionsstring[]NoneAdditional extensions to include alongside template defaults (for example, .txt,.log).
--exclude-extensionsstring[]NoneExtensions to remove from template defaults (for example, .xml,.md).
--only-extensionsstring[]NoneFuse only these extensions, ignoring all template defaults.

--only-extensions overrides template defaults entirely. It cannot combine with a template: when it is set, the template's extension list is not applied.

Test Project Options

FlagTypeDefaultDescription
--exclude-test-projectsboolfalseExclude common test project directories.

Cache And Watch Options

FlagTypeDefaultDescription
--no-cacheboolfalseDisable per-file reduction caching.
--clear-cacheboolfalseClear the cache directory before running.
--indexboolfalseCache per-file dependency and symbol analysis on disk (.fuse/index) so repeated scoped runs reuse it. Enabled automatically in watch mode and the MCP server.
--watchboolfalseWatch for file changes and re-run fusion after edits settle. Disabled automatically when stdio is redirected (MCP).

Precision Tier (Opt-In)

The precision tier replaces the default regex C# analysis with Roslyn for more accurate skeletons, dependency edges, and outlines. It is available only in the framework-dependent tool; the Native AOT build always uses the regex tier. The tier is selected at process start, so the flag is also recognized before command parsing, and the FUSE_SEMANTIC environment variable enables it for the MCP server.

FlagTypeDefaultDescription
--semanticboolfalseUse the Roslyn precision tier for C# analysis (framework-dependent build only).

The tier and its trade-offs are described in Scoping Internals.

DotNet-Only Options

These flags apply only to fuse dotnet.

C# Reduction

FlagTypeDefaultDescription
--remove-csharp-namespacesboolfalseRemove namespace declarations from C# files.
--remove-csharp-commentsboolfalseRemove comments from C# files.
--remove-csharp-regionsboolfalseRemove #region directives from C# files.
--remove-csharp-usingsboolfalseRemove all using statements from C# files.
--aggressiveboolfalseApply aggressive reduction (remove attributes and redundant keywords, compress properties).
--minify-xml-filesbooltrueMinify XML files such as .csproj and .xml.
--minify-html-and-razorbooltrueMinify HTML and Razor files.
--collapse-generatedboolfalseCollapse EF Core migration and model-snapshot bodies to their signatures, dropping the large generated method bodies.
--allboolfalseApply all C# reductions at once (namespaces, comments, regions, usings, aggressive, collapse-generated).

Structure And Annotation

FlagTypeDefaultDescription
--skeletonboolfalseEmit structural skeleton only (class, interface, and method signatures, no bodies).
--semantic-markersboolfalsePrepend structural annotation comments to each file entry.
--public-apiboolfalseEmit only public and protected member skeletons.
--route-mapboolfalsePrepend an ASP.NET route map to the output.
--project-graphboolfalsePrepend a solution and project reference graph to the output.
--pattern-summaryboolfalseDetect and append a cross-codebase pattern summary to the output.

The detected patterns are listed in the Pattern Detectors reference.

Test Projects

FlagTypeDefaultDescription
--exclude-unit-test-projectsboolfalseExclude only unit test project directories, keeping integration tests and benchmarks.

Scoping

FlagTypeDefaultDescription
--focusstringNoneType name, filename, or relative directory to scope the fusion around. With the precision tier (--semantic), a Type.Member seed scopes the seed file to that member (symbol-level scoping).
--querystringNoneSearch query to scope fusion to the most relevant files.
--query-topint10Number of top-ranked files to seed query scoping.
--depthint1Dependency traversal depth for focus or query scoping. Valid range 1 to 10.
--rerankboolfalseRerank query candidates with embedding-vector similarity (hybrid retrieval) before dependency expansion.

The three scoping modes (--focus, --changed-since, and --query) are mutually exclusive: a single fusion uses at most one. The Scoping to What Matters guide explains each mode, and Reducing Tokens covers the reduction flags in practice.

What This Does Not Cover

This page does not cover the commands themselves (see Commands), the configuration file format (see Configuration Keys), or the templates that supply the default extension lists (see Templates).

Next

Continue to the Configuration Keys reference to set defaults in a file, or to the Scoping to What Matters guide for scoped fusions.

On this page