Download Latest Version Flycheck v38.3 source code.zip (2.2 MB)
Email in envelope

Get an email when there's a new version of Flycheck

Home / v38.0
Name Modified Size InfoDownloads / Week
Parent folder
Flycheck v38.0 source code.tar.gz 2026-07-29 2.0 MB
Flycheck v38.0 source code.zip 2026-07-29 2.2 MB
README.md 2026-07-29 5.6 kB
Totals: 3 Items   4.3 MB 0

New Features

  • #2202: Add flycheck-annotate-mode, which shows error messages inline next to the code they refer to, in the spirit of VS Code's Error Lens and the inline diagnostics of Neovim, Helix and Zed. Two styles ship out of the box: eol appends a compact message after the line, below lays the full messages out underneath. Obsoletes the third-party flycheck-inline package.
  • #2203: flycheck-annotate-mode can tint each error's whole line with a subtle background in its severity colour (flycheck-annotate-background).
  • #2204: Add a sideline annotation style that flushes the compact message to the window's right edge, in the manner of lsp-ui-sideline.
  • #2205: Align below-style connectors to the error's real display column, so they line up under tab-indented code and past a line-number gutter.
  • #2206: Filter inline annotations per tier via flycheck-annotate-current-line-levels and flycheck-annotate-other-lines-levels, so the focused line and the rest can show different levels.
  • #2225: Add global-flycheck-annotate-mode to turn inline diagnostics on in every buffer Flycheck checks.
  • #2193: Add a quick-fix API. C-c ! f (flycheck-fix-error-at-point) and x in the error list apply a checker's machine-applicable fix, attached to a flycheck-error via the new :fix slot. Wired into javascript-eslint, the Rust checkers and SARIF-based checkers, whose fixes were previously parsed and discarded.
  • #2195: python-ruff and sh-shellcheck now carry the fixes their tools suggest (shellcheck 0.7 or newer required).
  • #2207: C-c ! F (flycheck-fix-all-errors) applies every fix in the buffer at once as a single undoable change; X does the same from the error list.
  • #2208: Mark a fixable error's line with a distinct fringe or margin indicator, like an editor's "fix available" lightbulb (flycheck-fixable-indicator).
  • #2210: A :fix may be a function that computes the fix on demand, so expensive fixes (such as an LSP code action) cost nothing until applied.
  • #2209: Integrate with Eglot out of the box: global-flycheck-eglot-mode reports an Eglot-managed server's diagnostics through Flycheck via the new eglot-check checker. Obsoletes the third-party flycheck-eglot package, whose mode names it reuses - uninstall that package first, or the two will clash.
  • #2211: Offer an Eglot diagnostic's quickfix code action as a Flycheck fix, fetched from the server only when you apply it (flycheck-eglot-code-actions).
  • #2213: Add a native lsp checker that talks to a diagnostics language server directly over the built-in jsonrpc library, without Eglot or lsp-mode. Enable global-flycheck-lsp-mode and configure a server per major mode in flycheck-lsp-servers.
  • #2214: Ship built-in flycheck-lsp-servers entries for RuboCop, Ruff, Biome and Harper, each used only when its program is installed.
  • #2215: Offer the server's quickfix code actions as fixes (flycheck-lsp-code-actions), and run the initialize handshake asynchronously so starting a server no longer briefly blocks Emacs.
  • #2218: Read RuboCop's and standardrb's autocorrects, which those servers ship inline in each diagnostic's data, as fixes.
  • #2192: Show whole-project diagnostics: P (flycheck-error-list-toggle-scope) aggregates errors across every open Flycheck buffer together with the cross-file errors that checkers like tsc, cargo check and mypy report but the per-buffer view drops.
  • #2196: Group the error list by file (M-2), checker (M-3) or level (M-4), nest and combine the dimensions, collapse a group with TAB, and drive it all from a strip at the top with the mouse.
  • #2212: Errors can carry secondary source locations (from an LSP diagnostic's relatedInformation, which Flymake discards). Visit them with C-c ! j; they show up inline and are badged ↳N in the error list.
  • #2191: Run syntax checkers over TRAMP: a remote buffer is checked on the remote host, where before it could not run (executables must be installed there). See flycheck-check-syntax-automatically-remote.

Bugs fixed

  • #2217: Fix a code-action fix returned as a legacy changes WorkspaceEdit (as Ruff emits) silently doing nothing; affects the lsp checker and the Eglot bridge.
  • #2197: Stop scanning every error-list row on cursor movement, so keeping a large project-scope list open is much cheaper.

Full Changelog: https://github.com/flycheck/flycheck/compare/v37.0...v38.0

Source: README.md, updated 2026-07-29