Skip to content
| Marketplace
Sign in
Visual Studio Code>Linters>FallowNew to Visual Studio Code? Get it now.
Fallow

Fallow

Fallow

|
726 installs
| (0) | Free
Codebase intelligence for TypeScript and JavaScript. Real-time diagnostics for unused code, duplication, complexity hotspots, and architecture drift, with optional runtime evidence via Fallow Runtime.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Fallow for VS Code

Find unused code, circular dependencies, and code duplication in TypeScript/JavaScript projects. Powered by fallow, a Rust-native alternative to knip that is 5-41x faster than knip v5 (2-18x faster than knip v6).

Features

  • Real-time diagnostics via the fallow LSP server: unused files, exports, types, dependencies, enum/class members, unresolved imports, unlisted deps, duplicate exports, circular dependencies, and code duplication
  • Quick-fix code actions: remove unused exports, delete unused files
  • Refactor code actions: extract duplicate code into a shared function
  • Code Lens: reference counts above each export declaration with click-to-navigate (opens Peek References panel)
  • Hover information: export usage status, unused status, and duplicate block locations
  • Tree views: browse unused code by issue type and duplicates by clone family in the sidebar
  • Status bar: see total issue count and duplication percentage at a glance
  • Auto-fix: remove unused exports, dependencies, and enum members with one command
  • Auto-download: the extension downloads the fallow-lsp binary automatically

Installation

From the Marketplace

Search for "Fallow" in the VS Code extensions panel, or install from the command line:

code --install-extension fallow-rs.fallow-vscode

Manual

  1. Install the fallow npm package or the standalone fallow / fallow-lsp binaries (see fallow installation)
  2. Install the extension VSIX file: code --install-extension fallow-vscode-*.vsix

Commands

Command Description
Fallow: Run Analysis Run full codebase analysis and update tree views
Fallow: Auto-Fix Unused Exports & Dependencies Remove unused exports and dependencies
Fallow: Preview Fixes (Dry Run) Show what fixes would be applied without changing files
Fallow: Restart Language Server Restart the fallow-lsp process
Fallow: Show Output Channel Open the Fallow output panel for debugging
Fallow: Toggle Mute Code-Duplication Findings Hide or restore Fallow's duplicate-code squiggles in the editor
Fallow: Toggle Mute All Findings Hide or restore every Fallow finding in the editor
Fallow: Manage Diagnostic Mutes... Multi-select picker for individual categories
Fallow: Show All Findings (Clear Mutes) Reset all editor mutes

Muting Fallow's editor squiggles

Duplicate-code findings can span many lines and drown out TypeScript / ESLint diagnostics in the editor. Fallow ships three ways to mute them locally without disabling the underlying rule:

  • A right-click Quick Fix on any Fallow squiggle: "Mute Fallow <category> findings in this workspace."
  • The four commands above; bind a keyboard shortcut to fallow.toggleMuteDuplicates for one-keystroke noise control.
  • The Fallow language status item (right gutter of the status bar) appears with a yellow indicator whenever anything is muted; click it to open the manage picker.

Mute state is stored in the workspace, so it survives reload but does not bleed across projects. Precedence: rules in your fallow.config.json and the fallow.issueTypes setting take effect server-side; muting is a local view filter only, applied client-side. CI and fallow check still report every finding.

Settings

Setting Default Description
fallow.lspPath "" Path to the fallow-lsp binary. Leave empty for auto-detection.
fallow.autoDownload true Automatically download the binary if not found.
fallow.issueTypes all enabled Toggle individual issue types on/off.
fallow.duplication.threshold 5 Minimum number of lines for a code block to be reported as a duplicate.
fallow.duplication.mode "mild" Detection mode: strict, mild, weak, or semantic.
fallow.production false Production mode: exclude test/dev files, only production scripts.
fallow.changedSince "" Git ref (tag, branch, or SHA) to scope the Problems panel and sidebar to files changed since that ref, mirroring the CLI's --changed-since. Tag your current commit (e.g. fallow-baseline) and set this to the tag to enforce "no new issues going forward" while ignoring pre-existing findings.
fallow.trace.server "off" LSP trace level: off, messages, or verbose.

Binary resolution

The extension looks for the fallow-lsp binary in this order:

  1. fallow.lspPath setting (if configured)
  2. Local node_modules/.bin/fallow-lsp
  3. fallow-lsp in PATH
  4. Previously downloaded binary in extension storage
  5. Auto-download from GitHub releases (if fallow.autoDownload is enabled)

Development

cd editors/vscode
pnpm install
pnpm build           # Production build
pnpm watch           # Watch mode for development
pnpm lint            # Type check
pnpm test            # Unit + extension-host tests
pnpm package         # Package as .vsix
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft