Skip to main content
drupalreleases

Use direct release data with your AI assistant.

Learn more

Snipper

Security covered Under active development 7 sites

Snipper allows users to import, export, or download individual configuration items directly from the configuration synchronization page. This provides granular control over configuration changes without requiring a full sync.

Does your team ever need to apply just one configuration change — without triggering a full sync that pulls in everything else that is staged? Snipper gives developers and site builders per-item control over configuration, from the synchronization page or the command line.

When a site uses the standard Configuration Synchronization workflow, every import is all-or-nothing. That works great for deployments, but it creates friction during development: one fix is ready, forty others are not. Or a setting was tweaked in the UI and needs to be captured back to the sync directory before the next deployment overwrites it. Snipper solves this by adding Import, Export, and Download YML operation links to every item listed on the Configuration Synchronization page — right next to the existing "View differences" link — and by shipping a drush snipper command that does the same from the terminal, with a full interactive browser. No separate page, no copy-pasting YAML.

How it works

From the UI

  1. Navigate to Administration > Configuration > Development > Configuration synchronization.
  2. Each listed configuration item now shows additional operation links alongside "View differences".
  3. Click Import to write that single item from the sync directory into the active (database) configuration.
  4. Click Export to write the active version of that item back to the sync directory.
  5. Click Download YML to immediately download the item as a .yml file.

From the command line

Run drush snipper in an interactive terminal and it takes over the full screen (like htop or less — your previous terminal content comes back when you're done), listing every configuration item that differs between active storage and the sync directory. The list contains only your configuration items, so it stays easy to navigate however many changes there are, and a one-line legend under it shows every key. Pick an item to:

  • View what changed — a full-screen, scrollable text view of every changed key and both values; arrow keys page through as much as there is, nothing gets truncated
  • Import it, Export it, or skip it for the rest of the session (skipped items can be reviewed and brought back any time before you quit)

Quick keys act on whichever item is currently highlighted, without opening its menu: Ctrl+V view, Ctrl+T import, Ctrl+X export, Ctrl+K skip. The rest work from anywhere in the list: r re-checks for new differences (anything new is marked and moved to the top), s opens the items you skipped, and q quits. Prefer scripting or CI? drush snipper --no-browse prints a plain table instead.

Compare with a module or a recipe

You are not limited to the sync directory. While developing a module or a recipe, point Snipper at its configuration and import or export the changes one at a time — the per-item equivalent of drush config:import --partial --source=…:

drush snipper --source=my_module
drush snipper --source=my_recipe
drush snipper --sync-dir=path/to/any/config/directory
  • --source=NAME finds the directory for you: the config/install of the module with that name (it does not need to be installed) or the config directory of the recipe. It stops with a clear error if nothing, or both a module and a recipe, have that name.
  • --sync-dir=PATH accepts any directory of configuration YAML files.
  • As with a partial import, configuration that only exists in the active storage is hidden, since such a directory never holds a whole site's configuration. Add --with-active-only to list it too.
  • Export writes the item back into that directory.
  • Config Split and config_exclude_modules do not apply to these directories, and config/optional is not included.

Features

  • Import single item — apply one staged change without touching anything else
  • Export single item — capture a UI change back to the sync directory on the spot
  • Download YML — get the raw YAML of any differing item in one click, no Drush needed
  • drush snipper command — the same Import/Export from the terminal, plus a full-screen interactive browser with a scrollable diff viewer, single-key shortcuts and an always-visible key legend
  • Modules and recipes — compare and sync against a module's or recipe's configuration by name with --source, or against any directory with --sync-dir
  • Config Split and excluded modules — respects active splits and config_exclude_modules
  • Collection support — the UI links work with language and other configuration collections
  • Confirmation step — Import and Export show a confirm page before making any change in the UI
  • Zero configuration — install, enable, done

Requirements

  • Drupal 10 or 11
  • Core config module (enabled by default)
  • Drush 13.7 or later, to use the drush snipper command

Note: Import and Export — from the UI and from drush snipper — write directly to the active or sync storage without running the full ConfigImporter pipeline. Hooks, validators, and dependency ordering are not invoked. These operations are best suited for individual settings, fields, views, and display modes — not for enabling or disabling modules or themes. The same applies when importing from a module or recipe directory: an item is written as is, even if what it depends on is not installed.

Drupal 10–11

Ask your assistant about Snipper

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

  • config Drupal core

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
6
Tracked since
Mar 2026
Latest release
1 month ago
Releases (12 mo)
6 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Core PHP Release date
1.0.4 Stable 10–11 Sep 13, 2026
1.0.3 Stable 10–11 Jun 24, 2026
1.0.2 Stable 10–11 Jun 22, 2026
1.0.1 Stable 10–11 Mar 25, 2026
1.0.0-beta1 Pre-release 10–11 Mar 12, 2026
1.0.0 Stable 10–11 Mar 11, 2026