CLI
Ce contenu n’est pas encore disponible dans votre langue.
Use the command-line interface (CLI) to check, format, lint, and manage Biome from your terminal or CI environment.
The Biome CLI can be run with your project’s package manager or as a standalone native executable that does not require Node.js.
npx @biomejs/biome check .pnpx @biomejs/biome check .yarn exec biome check .biome check .Commands
Section titled “Commands”biome versionbiome upgradebiome ragebiome startbiome stopbiome checkbiome lintbiome formatbiome cibiome initbiome lsp-proxybiome migratebiome migrate prettierbiome migrate eslintbiome searchbiome explainbiome clean
biome version
Section titled “biome version”Prints the Biome CLI version and information about the connected daemon server, if any, then exits.
This command also accepts global flags.
biome upgrade
Section titled “biome upgrade”Upgrades Biome to the latest stable version.
This command upgrades the current Biome binary based on how it was installed:
- Standalone: Upgrades a standalone binary in place to the latest stable version.
- Homebrew: If Biome was installed with Homebrew, this command runs
brew upgrade biome.
Set BIOME_DISTRIBUTION to npm, homebrew, or standalone to override automatic detection.
biome rage
Section titled “biome rage”Prints a troubleshooting report with CLI, platform, environment, configuration, workspace, and daemon server information.
This command also accepts global flags, the relevant shared flags, and the following additional flags:
Flags
--daemon-logs
Section titled “--daemon-logs”Includes the latest daemon server log. If the CLI is not connected to a daemon server, this flag also discovers running Biome daemon server instances.
--formatter
Section titled “--formatter”Includes the formatter settings loaded from the Biome configuration.
--linter
Section titled “--linter”Includes the linter settings and enabled lint rules loaded from the Biome configuration.
biome start
Section titled “biome start”Starts the Biome daemon server used for integration with third-party clients, such as editor extensions.
This command also accepts the relevant shared flags.
biome stop
Section titled “biome stop”Stops the Biome daemon server if it is running.
biome check
Section titled “biome check”Checks the specified files for formatting, linting, and assist actions.
The optional PATH arguments accept one or more paths to files or directories. If omitted, Biome checks files in the current working directory.
biome check ./srcThis command also accepts global flags, the relevant shared flags, and the following additional flags:
Flags
--write, --fix
Section titled “--write, --fix”Applies formatting changes, safe lint fixes, and safe assist actions.
--unsafe
Section titled “--unsafe”Allows --write or --fix to apply unsafe fixes and assist actions.
--formatter-enabled=<true|false>
Section titled “--formatter-enabled=<true|false>”Enables or disables formatting checks for this command.
biome check --formatter-enabled=false--linter-enabled=<true|false>
Section titled “--linter-enabled=<true|false>”Enables or disables linting checks for this command.
biome check --linter-enabled=true--assist-enabled=<true|false>
Section titled “--assist-enabled=<true|false>”Enables or disables assist actions for this command.
biome check --assist-enabled=true--enforce-assist=<true|false>
Section titled “--enforce-assist=<true|false>”Enforces assist actions and causes the command to fail if required actions are not applied. Defaults to true.
biome check --enforce-assist=false--profile-rules
Section titled “--profile-rules”Reports how long each rule takes to run. It excludes the time spent preparing the analysis, such as building the semantic model.
--stdin-file-path=PATH
Section titled “--stdin-file-path=PATH”Reads code from standard input and writes the processed code to standard output.
Biome uses PATH to select settings and determine the input type from its extension. Virtual paths don’t need to exist or belong to the project. They bypass files.includes and VCS ignore checks.
echo 'let a;' | biome check --stdin-file-path=file.js --write--staged
Section titled “--staged”Checks only staged files. This option is intended for local use.
--changed
Section titled “--changed”Checks only files with committed changes compared to the configured vcs.defaultBranch or the base reference specified by --since. Staged and unstaged changes are not included. This option is intended for CI.
--since=REF
Section titled “--since=REF”Sets the base reference used by --changed, overriding vcs.defaultBranch. Requires --changed.
biome check --changed --since=main--only=<GROUP|RULE|DOMAIN|ACTION|PLUGIN>
Section titled “--only=<GROUP|RULE|DOMAIN|ACTION|PLUGIN>”Runs only the given lint rule, assist action, group of rules and actions, or domain. If a selected rule’s severity is off, Biome sets it to error for a recommended rule or warn otherwise. The plugin group runs only analyzer plugins.
biome check --only=correctness/noUnusedVariables --only=suspicious --only=test --only=plugin--skip=<GROUP|RULE|DOMAIN|ACTION|PLUGIN>
Section titled “--skip=<GROUP|RULE|DOMAIN|ACTION|PLUGIN>”Skips the given lint rule, assist action, group of rules and actions, or domain. Matching lint rules are set to off. This option takes precedence over --only. The plugin group skips analyzer plugins.
biome check --skip=correctness/noUnusedVariables --skip=suspicious --skip=project --skip=plugin--watch
Section titled “--watch”After the initial run, watches the selected paths and reprocesses files modified afterward.
biome lint
Section titled “biome lint”Runs the linter on the specified files.
The optional PATH arguments accept one or more paths to files or directories. If omitted, Biome lints files in the current working directory.
biome lint ./srcThis command also accepts global flags, the relevant shared flags, and the following additional flags:
Flags
--write, --fix
Section titled “--write, --fix”Applies safe lint fixes.
--unsafe
Section titled “--unsafe”Allows --write or --fix to apply unsafe lint fixes.
--suppress
Section titled “--suppress”Writes comment suppressions for lint rule violations instead of applying rule fixes.
--reason=STRING
Section titled “--reason=STRING”Adds an explanation to suppressions created by --suppress. This flag requires --suppress.
biome lint --suppress --reason="explanation"--only=<GROUP|RULE|DOMAIN|PLUGIN>
Section titled “--only=<GROUP|RULE|DOMAIN|PLUGIN>”Runs only the given lint rule, rule group, or domain. If a rule’s severity is off, Biome sets it to error for a recommended rule or warn otherwise. The plugin group runs only analyzer plugins.
biome lint --only=correctness/noUnusedVariables --only=suspicious --only=test --only=plugin--skip=<GROUP|RULE|DOMAIN|PLUGIN>
Section titled “--skip=<GROUP|RULE|DOMAIN|PLUGIN>”Skips the given lint rule, rule group, or domain by setting the affected rules to off. This option takes precedence over --only. The plugin group skips analyzer plugins.
biome lint --skip=correctness/noUnusedVariables --skip=suspicious --skip=project --skip=plugin--stdin-file-path=PATH
Section titled “--stdin-file-path=PATH”Reads code from standard input and writes the processed code to standard output.
Biome uses PATH to select settings and determine the input type from its extension. Virtual paths don’t need to exist or belong to the project. They bypass files.includes and VCS ignore checks.
echo 'let a;' | biome lint --stdin-file-path=file.js --write--staged
Section titled “--staged”Lints only staged files. This option is intended for local use.
--changed
Section titled “--changed”Lints only files with committed changes compared to the configured vcs.defaultBranch or the base reference specified by --since. Staged and unstaged changes are not included. This option is intended for CI.
--since=REF
Section titled “--since=REF”Sets the base reference used by --changed, overriding vcs.defaultBranch. Requires --changed.
biome lint --changed --since=main--profile-rules
Section titled “--profile-rules”Reports how long each rule takes to run. It excludes the time spent preparing the analysis, such as building the semantic model.
--watch
Section titled “--watch”After the initial run, watches the selected paths and reprocesses files modified afterward.
biome format
Section titled “biome format”Formats the specified files.
The optional PATH arguments accept one or more paths to files or directories. If omitted, Biome formats files in the current working directory.
biome format ./srcThis command also accepts global flags, the relevant shared flags, and the following additional flags:
Flags
--stdin-file-path=PATH
Section titled “--stdin-file-path=PATH”Reads code from standard input and writes the processed code to standard output.
Biome uses PATH to select settings and determine the input type from its extension. Virtual paths don’t need to exist or belong to the project. They bypass files.includes and VCS ignore checks.
echo 'let a;' | biome format --stdin-file-path=file.js--write, --fix
Section titled “--write, --fix”Applies formatting changes.
--staged
Section titled “--staged”Formats only staged files. This option is intended for local use.
--changed
Section titled “--changed”Formats only files with committed changes compared to the configured vcs.defaultBranch or the base reference specified by --since. Staged and unstaged changes are not included. This option is intended for CI.
--since=REF
Section titled “--since=REF”Sets the base reference used by --changed, overriding vcs.defaultBranch. Requires --changed.
biome format --changed --since=main--watch
Section titled “--watch”After the initial run, watches the selected paths and reprocesses files modified afterward.
biome ci
Section titled “biome ci”Runs formatting checks, linting checks, and assist actions in CI without modifying files.
The optional PATH arguments accept one or more paths to files or directories. If omitted, Biome checks files in the current working directory.
biome ci ./srcThis command also accepts global flags, the relevant shared flags, and the following additional flags:
Flags
--formatter-enabled=<true|false>
Section titled “--formatter-enabled=<true|false>”Enables or disables formatting checks for this command.
biome ci --formatter-enabled=false--linter-enabled=<true|false>
Section titled “--linter-enabled=<true|false>”Enables or disables linting checks for this command.
biome ci --linter-enabled=true--assist-enabled=<true|false>
Section titled “--assist-enabled=<true|false>”Enables or disables assist actions for this command.
biome ci --assist-enabled=true--enforce-assist=<true|false>
Section titled “--enforce-assist=<true|false>”Enforces assist actions and causes the command to fail if required actions are not applied. Defaults to true.
biome ci --enforce-assist=false--changed
Section titled “--changed”Checks only files with committed changes compared to the configured vcs.defaultBranch or the base reference specified by --since. Staged and unstaged changes are not included. This option is intended for CI.
--since=REF
Section titled “--since=REF”Sets the base reference used by --changed, overriding vcs.defaultBranch. Requires --changed.
biome ci --changed --since=main--threads=NUMBER
Section titled “--threads=NUMBER”Sets the number of threads to use. This is useful in environments with limited resources, such as CI.
biome ci --threads=4Uses the BIOME_THREADS environment variable.
--only=<GROUP|RULE|DOMAIN|ACTION|PLUGIN>
Section titled “--only=<GROUP|RULE|DOMAIN|ACTION|PLUGIN>”Runs only the given lint rule, assist action, group of rules and actions, or domain. If a selected rule’s severity is off, Biome sets it to error for a recommended rule or warn otherwise. The plugin group runs only analyzer plugins.
biome ci --only=correctness/noUnusedVariables --only=suspicious --only=test --only=plugin--skip=<GROUP|RULE|DOMAIN|ACTION|PLUGIN>
Section titled “--skip=<GROUP|RULE|DOMAIN|ACTION|PLUGIN>”Skips the given lint rule, assist action, group of rules and actions, or domain. Matching lint rules are set to off. This option takes precedence over --only. The plugin group skips analyzer plugins.
biome ci --skip=correctness/noUnusedVariables --skip=suspicious --skip=project --skip=pluginbiome init
Section titled “biome init”Creates a default Biome configuration file in the current working directory.
Flags
--jsonc
Section titled “--jsonc”Creates biome.jsonc instead of biome.json.
biome lsp-proxy
Section titled “biome lsp-proxy”Ensures that the Biome daemon server is running, then forwards Language Server Protocol messages between the daemon server and standard input and output.
This command also accepts the relevant shared flags.
biome migrate
Section titled “biome migrate”Previews configuration updates required by breaking changes. The prettier and eslint subcommands instead import settings from those tools.
By default, this command displays the proposed changes without modifying files. Use --write to apply them.
This command also accepts global flags, the relevant shared flags, and the following additional flags:
Flags
--write, --fix
Section titled “--write, --fix”Applies the proposed migration or imported settings.
Subcommands
biome migrate prettier
Section titled “biome migrate prettier”Imports Prettier configuration and ignore settings into the Biome configuration.
biome migrate eslint
Section titled “biome migrate eslint”Imports an ESLint configuration and ignore settings from the current working directory into the Biome configuration.
The eslint subcommand accepts these additional flags:
--include-inspired
Section titled “--include-inspired”Includes Biome rules inspired by ESLint rules in the migration.
--include-nursery
Section titled “--include-nursery”Includes nursery rules in the migration.
biome search
Section titled “biome search”EXPERIMENTAL: Finds code that matches a GritQL pattern, optionally limited to specific files or directories.
The required PATTERN argument is the GritQL query to find. Rewrite queries aren’t supported because biome search is read-only.
The optional PATH arguments limit the search to one or more files or directories. Without a path, Biome searches files in the current working directory.
The following command finds console.log invocations in ./src:
biome search '`console.log($message)`' ./srcThis command also accepts global flags, the relevant shared flags, and the following additional flags:
Flags
-l, --language=<css|javascript|json>
Section titled “-l, --language=<css|javascript|json>”Selects the language grammar used for the pattern and searched code: CSS, JavaScript, or JSON.
GritQL patterns are specific to their target grammar, so a search cannot target multiple languages at once.
Defaults to javascript.
biome search --language=javascript '`console.log($message)`'biome explain
Section titled “biome explain”Prints documentation for a lint rule or the path to the daemon server log directory.
NAME is a lint rule name or daemon-logs.
biome explain noDebuggerbiome explain daemon-logsbiome clean
Section titled “biome clean”Removes the Biome daemon server log files.
Global flags
Section titled “Global flags”These flags are available to many commands and control general CLI behavior, diagnostics, and output.
General flags
-h, --help
Section titled “-h, --help”Prints help information.
-V, --version
Section titled “-V, --version”Prints version information.
--colors=<off|force>
Section titled “--colors=<off|force>”Controls ANSI styling: off disables it, while force enables it even when the output does not appear to support ANSI escapes.
--use-server
Section titled “--use-server”Connects to a running instance of the Biome daemon server.
--verbose
Section titled “--verbose”Shows additional diagnostic details and lists the files that were processed or modified.
--config-path=PATH
Section titled “--config-path=PATH”Sets the path to the configuration file or the directory where Biome should search for biome.json or biome.jsonc. This option disables the default configuration file resolution.
Uses the BIOME_CONFIG_PATH environment variable.
--max-diagnostics=<none|NUMBER>
Section titled “--max-diagnostics=<none|NUMBER>”Limits the number of diagnostics displayed. Use none to remove the limit.
Defaults to 20.
--skip-parse-errors
Section titled “--skip-parse-errors”Skips files containing syntax errors instead of emitting an error diagnostic.
--no-errors-on-unmatched
Section titled “--no-errors-on-unmatched”Does not emit an error when no files are processed.
--error-on-warnings
Section titled “--error-on-warnings”Exits with an error status if any warning diagnostics are emitted.
--diagnostic-level=<info|warn|error>
Section titled “--diagnostic-level=<info|warn|error>”Sets the minimum diagnostic severity to display: info, warn, or error. For example, --diagnostic-level=error displays only error-level diagnostics.
Defaults to info.
Reporter flags
--reporter=FORMAT
Section titled “--reporter=FORMAT”Changes how diagnostics and the run summary are written.
Defaults to default.
biome ci --reporter=github| Value | Output |
|---|---|
default | Full diagnostics and a summary for use in a terminal. |
concise | One line per diagnostic, with formatter diagnostics grouped together. |
summary | Diagnostics grouped by category and rule, and formatter diagnostics grouped by file. |
json | Machine-readable JSON. |
json-pretty | Pretty-printed JSON using Biome’s default JSON formatting settings. |
github | GitHub workflow commands that create annotations. |
gitlab | A GitLab Code Quality report. |
junit | JUnit XML for test and CI integrations. |
checkstyle | Checkstyle XML. |
rdjson | Reviewdog diagnostic JSON. |
sarif | SARIF for static analysis integrations. |
--reporter-file=PATH
Section titled “--reporter-file=PATH”Writes the associated reporter’s output to PATH. Without --reporter, it writes the default reporter’s output.
biome ci --reporter=junit --reporter-file=report.xmlRepeat --reporter to produce multiple outputs. This example prints the default output to the terminal and writes an RDJSON report to a file:
biome ci --reporter=default --reporter=rdjson --reporter-file=report.jsonShared flags
Section titled “Shared flags”These flags are accepted by multiple commands. Configuration flags override the equivalent settings from biome.json or biome.jsonc.
Daemon server flags
Section titled “Daemon server flags”--watcher-kind=<polling|recommended|none>
Section titled “--watcher-kind=<polling|recommended|none>”Selects how the daemon server detects file changes. recommended uses the operating system’s recommended watcher, polling periodically checks for changes, and none disables watching.
Uses the BIOME_WATCHER_KIND environment variable.
Defaults to recommended.
--watcher-polling-interval=NUMBER
Section titled “--watcher-polling-interval=NUMBER”Sets how often the polling watcher checks for file changes, in milliseconds. This setting applies only when --watcher-kind=polling.
Uses the BIOME_WATCHER_POLLING_INTERVAL environment variable.
Defaults to 2000.
JSON parser flags
Section titled “JSON parser flags”--json-parse-allow-comments=<true|false>
Section titled “--json-parse-allow-comments=<true|false>”Allows parsing comments in .json files.
--json-parse-allow-trailing-commas=<true|false>
Section titled “--json-parse-allow-trailing-commas=<true|false>”Allows parsing trailing commas in .json files.
Configuration flags
Section titled “Configuration flags”--vcs-enabled=<true|false>
Section titled “--vcs-enabled=<true|false>”Whether Biome should integrate with the version control client.
--vcs-client-kind=<git>
Section titled “--vcs-client-kind=<git>”The version control client.
--vcs-use-ignore-file=<true|false>
Section titled “--vcs-use-ignore-file=<true|false>”When true, Biome ignores files listed in .gitignore, .ignore, and Git’s local exclude file.
--vcs-root=PATH
Section titled “--vcs-root=PATH”Sets the directory where Biome checks for version control files.
Defaults to the directory containing biome.json or biome.jsonc. If no configuration is found, Biome uses the current working directory.
If neither directory is available, Biome disables version control integration and emits a diagnostic.
--vcs-default-branch=BRANCH
Section titled “--vcs-default-branch=BRANCH”The project’s default branch.
--files-max-size=NUMBER
Section titled “--files-max-size=NUMBER”The maximum source file size in bytes. Biome ignores larger files. Defaults to 1 MiB.
--files-ignore-unknown=<true|false>
Section titled “--files-ignore-unknown=<true|false>”Prevents Biome from emitting diagnostics for unrecognized file types.
--format-with-errors=<true|false>
Section titled “--format-with-errors=<true|false>”Allows formatting files that contain syntax errors when set to true. Defaults to false.
--indent-style=<tab|space>
Section titled “--indent-style=<tab|space>”Uses tabs or spaces for indentation. Defaults to tab.
--indent-width=NUMBER
Section titled “--indent-width=NUMBER”The indentation width. Defaults to 2.
--line-ending=<lf|crlf|cr|auto>
Section titled “--line-ending=<lf|crlf|cr|auto>”Selects the line ending. auto uses the platform convention. Defaults to lf.
--line-width=NUMBER
Section titled “--line-width=NUMBER”The maximum line width. Defaults to 80.
--attribute-position=<multiline|auto>
Section titled “--attribute-position=<multiline|auto>”The attribute position style in HTML-like languages. Defaults to auto.
--bracket-same-line=<true|false>
Section titled “--bracket-same-line=<true|false>”Places the > of a multiline HTML or JSX element at the end of the last line instead of on the next line. Self-closing elements are unaffected. Defaults to false.
--bracket-spacing=<true|false>
Section titled “--bracket-spacing=<true|false>”Whether to insert spaces inside braces in object literals. Defaults to true.
--delimiter-spacing=<true|false>
Section titled “--delimiter-spacing=<true|false>”Controls spaces immediately inside supported delimiters when their content fits on one line. It doesn’t add spaces before opening delimiters or inside empty delimiters.
The affected delimiters vary by language. Defaults to false.
--expand=<auto|always|never>
Section titled “--expand=<auto|always|never>”Controls whether arrays and objects are formatted on one line or multiple lines.
auto: Formats objects on multiple lines if the first property has a newline, and arrays on one line if they fit.always: Formats arrays and objects on multiple lines.never: Formats arrays and objects on one line if they fit.
Defaults to auto.
When formatting package.json, Biome uses always unless configured otherwise.
--trailing-newline=<true|false>
Section titled “--trailing-newline=<true|false>”Whether to add a trailing newline at the end of the file. Defaults to true.
--use-editorconfig=<true|false>
Section titled “--use-editorconfig=<true|false>”Uses .editorconfig files to configure the formatter. Settings in biome.json or biome.jsonc override .editorconfig settings. Defaults to false.
--jsx-everywhere=<true|false>
Section titled “--jsx-everywhere=<true|false>”When enabled, files such as .js, .mjs, and .cjs may contain JSX syntax. Defaults to true.
--javascript-formatter-enabled=<true|false>
Section titled “--javascript-formatter-enabled=<true|false>”Controls the formatter for JavaScript and languages that extend it.
--jsx-quote-style=<double|single>
Section titled “--jsx-quote-style=<double|single>”The type of quotes used in JSX. Defaults to double.
--quote-properties=<preserve|as-needed>
Section titled “--quote-properties=<preserve|as-needed>”Controls when object properties are quoted. Defaults to as-needed.
--trailing-commas=<all|es5|none>
Section titled “--trailing-commas=<all|es5|none>”Prints trailing commas wherever possible in multiline comma-separated structures. Defaults to all.
--semicolons=<always|as-needed>
Section titled “--semicolons=<always|as-needed>”Prints semicolons after every statement or only where needed to avoid automatic semicolon insertion hazards. Defaults to always.
--arrow-parentheses=<always|as-needed>
Section titled “--arrow-parentheses=<always|as-needed>”Whether to add parentheses around arrow function parameters. Defaults to always.
--javascript-formatter-indent-style=<tab|space>
Section titled “--javascript-formatter-indent-style=<tab|space>”The indent style applied to JavaScript and languages that extend it. If unset, inherits the global indentation style.
--javascript-formatter-indent-width=NUMBER
Section titled “--javascript-formatter-indent-width=NUMBER”The indentation width applied to JavaScript and languages that extend it. If unset, inherits the global indentation width.
--javascript-formatter-line-ending=<lf|crlf|cr|auto>
Section titled “--javascript-formatter-line-ending=<lf|crlf|cr|auto>”The line ending applied to JavaScript and languages that extend it. If unset, inherits the global line ending.
--javascript-formatter-line-width=NUMBER
Section titled “--javascript-formatter-line-width=NUMBER”The maximum line width applied to JavaScript and languages that extend it. If unset, inherits the global line width.
--javascript-formatter-quote-style=<double|single>
Section titled “--javascript-formatter-quote-style=<double|single>”The type of quotes used in JavaScript code. Defaults to double.
--javascript-formatter-attribute-position=<multiline|auto>
Section titled “--javascript-formatter-attribute-position=<multiline|auto>”The attribute position style in JSX elements. If unset, inherits the global attribute position setting.
--javascript-formatter-bracket-spacing=<true|false>
Section titled “--javascript-formatter-bracket-spacing=<true|false>”Whether to insert spaces inside braces in object literals. If unset, inherits the global bracket spacing setting.
--javascript-formatter-delimiter-spacing=<true|false>
Section titled “--javascript-formatter-delimiter-spacing=<true|false>”Controls spaces immediately inside supported JavaScript and TypeScript delimiters when their content fits on one line. It doesn’t add spaces before opening delimiters or inside empty delimiters.
It affects parentheses, square brackets, template interpolations, TypeScript angle brackets, JSX expression braces, and logical NOT. In operator chains, only the final operator receives a following space.
If unset, inherits the global delimiter spacing setting.
--javascript-formatter-expand=<auto|always|never>
Section titled “--javascript-formatter-expand=<auto|always|never>”Uses the same auto, always, and never behavior as the global expansion setting.
If unset, inherits the global expansion setting.
--javascript-formatter-operator-linebreak=<before|after>
Section titled “--javascript-formatter-operator-linebreak=<before|after>”When breaking binary expressions into multiple lines, whether to break them before or after the binary operator. Defaults to after.
--javascript-formatter-trailing-newline=<true|false>
Section titled “--javascript-formatter-trailing-newline=<true|false>”Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.
--javascript-linter-enabled=<true|false>
Section titled “--javascript-linter-enabled=<true|false>”Controls the linter for JavaScript and languages that extend it.
--javascript-assist-enabled=<true|false>
Section titled “--javascript-assist-enabled=<true|false>”Controls assist actions for JavaScript and languages that extend it.
--json-formatter-enabled=<true|false>
Section titled “--json-formatter-enabled=<true|false>”Controls the formatter for JSON and languages that extend it.
--json-formatter-indent-style=<tab|space>
Section titled “--json-formatter-indent-style=<tab|space>”The indent style applied to JSON and languages that extend it. If unset, inherits the global indentation style.
--json-formatter-indent-width=NUMBER
Section titled “--json-formatter-indent-width=NUMBER”The indentation width applied to JSON and languages that extend it. If unset, inherits the global indentation width.
--json-formatter-line-ending=<lf|crlf|cr|auto>
Section titled “--json-formatter-line-ending=<lf|crlf|cr|auto>”The line ending applied to JSON and languages that extend it. If unset, inherits the global line ending.
--json-formatter-line-width=NUMBER
Section titled “--json-formatter-line-width=NUMBER”The maximum line width applied to JSON and languages that extend it. If unset, inherits the global line width.
--json-formatter-trailing-commas=<none|all>
Section titled “--json-formatter-trailing-commas=<none|all>”Prints trailing commas wherever possible in multiline comma-separated structures. Defaults to none.
--json-formatter-expand=<auto|always|never>
Section titled “--json-formatter-expand=<auto|always|never>”Uses the same auto, always, and never behavior as the global expansion setting.
If unset, inherits the global expansion setting.
When formatting package.json, Biome uses always unless configured otherwise.
--json-formatter-bracket-spacing=<true|false>
Section titled “--json-formatter-bracket-spacing=<true|false>”Whether to insert spaces inside braces in object literals. If unset, inherits the global bracket spacing setting.
--json-formatter-delimiter-spacing=<true|false>
Section titled “--json-formatter-delimiter-spacing=<true|false>”Controls spaces inside JSON square brackets when their content fits on one line. When enabled, [1, 2, 3] becomes [ 1, 2, 3 ]. Empty brackets are unchanged.
If unset, inherits the global delimiter spacing setting.
--json-formatter-trailing-newline=<true|false>
Section titled “--json-formatter-trailing-newline=<true|false>”Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.
--json-linter-enabled=<true|false>
Section titled “--json-linter-enabled=<true|false>”Controls the linter for JSON and languages that extend it.
--json-assist-enabled=<true|false>
Section titled “--json-assist-enabled=<true|false>”Controls assist actions for JSON and languages that extend it.
--css-parse-css-modules=<true|false>
Section titled “--css-parse-css-modules=<true|false>”Enables parsing of CSS Modules-specific features. Enable this feature only when your files don’t end in .module.css.
--css-parse-tailwind-directives=<true|false>
Section titled “--css-parse-tailwind-directives=<true|false>”Enables parsing of Tailwind CSS 4.0 directives and functions.
--css-formatter-enabled=<true|false>
Section titled “--css-formatter-enabled=<true|false>”Controls the formatter for CSS and languages that extend it.
--css-formatter-indent-style=<tab|space>
Section titled “--css-formatter-indent-style=<tab|space>”The indent style applied to CSS and languages that extend it. If unset, inherits the global indentation style.
--css-formatter-indent-width=NUMBER
Section titled “--css-formatter-indent-width=NUMBER”The indentation width applied to CSS and languages that extend it. If unset, inherits the global indentation width.
--css-formatter-line-ending=<lf|crlf|cr|auto>
Section titled “--css-formatter-line-ending=<lf|crlf|cr|auto>”The line ending applied to CSS and languages that extend it. If unset, inherits the global line ending.
--css-formatter-line-width=NUMBER
Section titled “--css-formatter-line-width=NUMBER”The maximum line width for CSS and languages that extend it. If unset, inherits the global line width.
--css-formatter-quote-style=<double|single>
Section titled “--css-formatter-quote-style=<double|single>”The type of quotes used in CSS code. Defaults to double.
--css-formatter-delimiter-spacing=<true|false>
Section titled “--css-formatter-delimiter-spacing=<true|false>”Controls spaces inside CSS parentheses and square brackets when their content fits on one line. When enabled, rgb(0, 0, 0) becomes rgb( 0, 0, 0 ) and [data-attr] becomes [ data-attr ]. Empty delimiters are unchanged.
If unset, inherits the global delimiter spacing setting.
--css-formatter-trailing-newline=<true|false>
Section titled “--css-formatter-trailing-newline=<true|false>”Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.
--css-linter-enabled=<true|false>
Section titled “--css-linter-enabled=<true|false>”Controls the linter for CSS files.
--css-assist-enabled=<true|false>
Section titled “--css-assist-enabled=<true|false>”Controls assist actions for CSS files.
--graphql-formatter-enabled=<true|false>
Section titled “--graphql-formatter-enabled=<true|false>”Controls the formatter for GraphQL files.
--graphql-formatter-indent-style=<tab|space>
Section titled “--graphql-formatter-indent-style=<tab|space>”The indent style applied to GraphQL files. If unset, inherits the global indentation style.
--graphql-formatter-indent-width=NUMBER
Section titled “--graphql-formatter-indent-width=NUMBER”The indentation width applied to GraphQL files. If unset, inherits the global indentation width.
--graphql-formatter-line-ending=<lf|crlf|cr|auto>
Section titled “--graphql-formatter-line-ending=<lf|crlf|cr|auto>”The line ending applied to GraphQL files. If unset, inherits the global line ending.
--graphql-formatter-line-width=NUMBER
Section titled “--graphql-formatter-line-width=NUMBER”The maximum line width for GraphQL files. If unset, inherits the global line width.
--graphql-formatter-quote-style=<double|single>
Section titled “--graphql-formatter-quote-style=<double|single>”The type of quotes used in GraphQL code. Defaults to double.
--graphql-formatter-trailing-newline=<true|false>
Section titled “--graphql-formatter-trailing-newline=<true|false>”Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.
--graphql-linter-enabled=<true|false>
Section titled “--graphql-linter-enabled=<true|false>”Controls the linter for GraphQL files.
--graphql-assist-enabled=<true|false>
Section titled “--graphql-assist-enabled=<true|false>”Controls assist actions for GraphQL files.
--grit-formatter-enabled=<true|false>
Section titled “--grit-formatter-enabled=<true|false>”Controls the formatter for GritQL files.
--grit-formatter-indent-style=<tab|space>
Section titled “--grit-formatter-indent-style=<tab|space>”The indent style applied to GritQL files. If unset, inherits the global indentation style.
--grit-formatter-indent-width=NUMBER
Section titled “--grit-formatter-indent-width=NUMBER”The indentation width applied to GritQL files. If unset, inherits the global indentation width.
--grit-formatter-line-ending=<lf|crlf|cr|auto>
Section titled “--grit-formatter-line-ending=<lf|crlf|cr|auto>”The line ending applied to GritQL files. If unset, inherits the global line ending.
--grit-formatter-line-width=NUMBER
Section titled “--grit-formatter-line-width=NUMBER”The maximum line width for GritQL files. If unset, inherits the global line width.
--grit-formatter-trailing-newline=<true|false>
Section titled “--grit-formatter-trailing-newline=<true|false>”Whether to add a trailing newline at the end of the file. If unset, inherits the global trailing newline setting.
--grit-linter-enabled=<true|false>
Section titled “--grit-linter-enabled=<true|false>”Controls the linter for GritQL files.
--grit-assist-enabled=<true|false>
Section titled “--grit-assist-enabled=<true|false>”Controls assist actions for GritQL files.
--html-formatter-enabled=<true|false>
Section titled “--html-formatter-enabled=<true|false>”Controls the formatter for HTML and languages that extend it.
--html-formatter-indent-style=<tab|space>
Section titled “--html-formatter-indent-style=<tab|space>”The indent style applied to HTML and languages that extend it. If unset, inherits the global indentation style.
--html-formatter-indent-width=NUMBER
Section titled “--html-formatter-indent-width=NUMBER”The indentation width applied to HTML and languages that extend it. If unset, inherits the global indentation width.
--html-formatter-line-ending=<lf|crlf|cr|auto>
Section titled “--html-formatter-line-ending=<lf|crlf|cr|auto>”The line ending applied to HTML and languages that extend it. If unset, inherits the global line ending.
--html-formatter-line-width=NUMBER
Section titled “--html-formatter-line-width=NUMBER”The maximum line width for HTML and languages that extend it. If unset, inherits the global line width.
--html-formatter-attribute-position=<multiline|auto>
Section titled “--html-formatter-attribute-position=<multiline|auto>”The attribute position style in HTML elements. If unset, inherits the global attribute position setting.
--html-formatter-bracket-same-line=<true|false>
Section titled “--html-formatter-bracket-same-line=<true|false>”Whether to place the closing bracket of a multiline HTML tag at the end of the last line instead of on its own line. If unset, inherits the global bracketSameLine setting.
--html-formatter-whitespace-sensitivity=<css|strict|ignore>
Section titled “--html-formatter-whitespace-sensitivity=<css|strict|ignore>”Whether to account for whitespace sensitivity when formatting HTML and languages that extend it. Defaults to css.
--html-formatter-indent-script-and-style=<true|false>
Section titled “--html-formatter-indent-script-and-style=<true|false>”Whether to indent <script> and <style> tags in HTML and languages that extend it. Defaults to false.
--html-formatter-self-close-void-elements=<always|never>
Section titled “--html-formatter-self-close-void-elements=<always|never>”Controls whether void elements are self-closed. Defaults to never.
--html-formatter-trailing-newline=<true|false>
Section titled “--html-formatter-trailing-newline=<true|false>”Whether to add a trailing newline at the end of the file. Unlike other language-specific trailing newline settings, this option defaults to true instead of inheriting the global setting.
--html-linter-enabled=<true|false>
Section titled “--html-linter-enabled=<true|false>”Controls the linter for HTML and languages that extend it.
--html-assist-enabled=<true|false>
Section titled “--html-assist-enabled=<true|false>”Controls assist actions for HTML and languages that extend it.
Logging flags
Section titled “Logging flags”--log-file=PATH
Section titled “--log-file=PATH”For file-processing commands, writes internal CLI logs to this file instead of standard output.
Uses the BIOME_LOG_FILE environment variable.
--log-prefix-name=STRING
Section titled “--log-prefix-name=STRING”When starting the daemon server, sets the file name prefix used for rotated log files.
Uses the BIOME_LOG_PREFIX_NAME environment variable.
Defaults to server.log.
--log-path=PATH
Section titled “--log-path=PATH”When starting the daemon server, sets the directory where log files are stored.
Uses the BIOME_LOG_PATH environment variable.
Defaults to the biome-logs directory inside Biome’s platform-specific cache directory.
--log-level=<none|tracing|debug|info|warn|error>
Section titled “--log-level=<none|tracing|debug|info|warn|error>”For file-processing commands, sets the internal CLI logging level to tracing, debug, info, warn, error, or none.
Uses the BIOME_LOG_LEVEL environment variable.
Defaults to none.
--log-kind=<pretty|compact|json>
Section titled “--log-kind=<pretty|compact|json>”For file-processing commands, selects the internal CLI log format: pretty, compact, or json.
Uses the BIOME_LOG_KIND environment variable.
Defaults to pretty.
Copyright (c) 2023-present Biome Developers and Contributors.