Skip to main content
drupalreleases

Use direct release data with your AI assistant.

Learn more

Vale

No security coverage Under active development

The Vale module checks the prose in your text fields against a style guide, with the Vale linter. An error stops the save and is marked on the field. Warnings and suggestions are shown to the author, and the content saves.

Vale applies rules for style, tone and terminology. Write your own, or use a published style such as Microsoft, Google, write-good or proselint.

 

Features:

  • Checks every save that validates: forms, JSON:API, REST and workspace publishing.
  • Lists every error in a value at once, on the field it came from.
  • Reads Markdown as Markdown and HTML as HTML, so code is not checked as prose.
  • Per field: a minimum level, a level for any rule, and a profile that .vale.ini sections match.
  • Publish-only mode, so drafts save with their errors. It follows Content Moderation.
  • Checks a workspace's changes before it is published, and can block the publish.
  • A report of the alerts in stored content, with filters and a CSV export.
  • Drush commands for CI: vale:lint exits with 1 on an error.
  • A check endpoint that returns the alerts a save would give, for editors and frontends.
  • Paragraphs: opted-in fields on paragraphs are checked, and publishing a page checks its paragraphs.
  • drush vale:install downloads Vale and checks it against the release's checksum.

 

Requirements:

  • PHP 8.3 or later
  • Drupal 10.3 or 11
  • Vale 3 on every web server and in the CLI container, with the styles your .vale.ini uses

 

Usage/Configuration:

Install Vale with drush vale:install, add a .vale.ini beside your web root, and run vale sync to download its styles. Point the site at both in settings.php:

$settings['vale_binary'] = $app_root . '/../bin/vale';
$settings['vale_config'] = $app_root . '/../.vale.ini';

Then turn on Check with Vale for each field you want checked.

Example: Structure > Content types > Basic page > Manage fields > Body > Prose checks

The README covers the site settings, the content report, Drush, JSON:API and the check endpoint.

 

Frequently Asked Questions:

  • Why are the paths in settings.php and not in the admin UI?
    Vale's script rules run code, so a ruleset belongs in your codebase. The module never accepts a binary path or a ruleset through the site.
  • Does it detect text written by AI?
    No. It checks style. Some Vale styles flag phrases that AI tools overuse, and the module applies them like any other rule.
  • What happens if Vale is missing, times out or fails?
    Content saves, and the author is told it was not checked. drush vale:lint and workspace blocking fail instead, so an unchecked deploy does not pass. Set fail_closed to refuse the save too.

 

Ask your assistant about Vale

Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
2
Tracked since
Oct 2026
Latest release
3 hours ago
Releases (12 mo)
2 ▲ from 0
Maintenance
Active

Releases

Version Type Core PHP Release date
1.0.0-beta1 Pre-release 10–11 PHP 8.3 Oct 21, 2026
1.0.x-dev Dev 10–11 PHP 8.3 Oct 21, 2026