Conversation
Using a third-party commitizen plugin (e.g. cz-conventional-gitmoji) with the pre-commit/prek "commitizen" hook fails with "The committer has not been found in the system" because pre-commit installs each hook in its own isolated environment, so the plugin package is not available unless it is listed in additional_dependencies. Add a tip to the pre-commit tutorial explaining this and showing the working additional_dependencies configuration. Closes commitizen-tools#1141
woile
approved these changes
Sep 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Documents that a third-party commitizen plugin (e.g.
cz-conventional-gitmoji) must be listed underadditional_dependenciesin.pre-commit-config.yamlwhen used with thecommitizenpre-commit/prekhook.prek/pre-commitinstalls each hook in its own isolated environment, so a plugin that isn't part ofcommitizenitself is not importable unless declared, and the hook fails withThe committer has not been found in the system.Adds a "Using a third-party commitizen plugin" tip (with a working
additional_dependenciesexample) right after the existing.pre-commit-config.yamlexample in the pre-commit setup tutorial, since that's the doc page people follow to configure the hook. No code changes.Closes #1141
Checklist
Was generative AI tooling used to co-author this PR?
Generated-by: Claude (Anthropic, Claude Code) following the guidelines. I reviewed the change, reproduced the bug, and verified the documented fix myself (see "Steps to Test" below).
Code Changes
uv run poe alllocally to ensure this change passes linter check and tests — N/A code paths untouched; ranuv run mkdocs build --strictanduv run prek run --files docs/tutorials/auto_check.mdinstead (see below)Documentation Changes
uv run poe doclocally to ensure the documentation pages renders correctlyExpected Behavior
The pre-commit setup tutorial should tell readers that a third-party commitizen plugin needs to be added to
additional_dependencies, so they don't hitThe committer has not been found in the systemthe way the issue reporter did.Steps to Test This Pull Request
pyproject.tomlcontaining[tool.commitizen]\nname = "cz_gitmoji", and a.pre-commit-config.yamlpointing thecommitizenhook at this repo withoutadditional_dependencies. Rangit commitwithstages: [commit-msg]installed viaprek install --hook-type commit-msg:additional_dependencies: ["cz-conventional-gitmoji"]to the same hook config (the fix this PR documents) and re-ran the commit:uv run mkdocs build --strict→ exit code 0, no warnings.uv run prek run --files docs/tutorials/auto_check.md→ all applicable hooks (trailing-whitespace, end-of-file-fixer, blacken-docs, codespell, etc.) passed.Additional Context
Issue: #1141. The maintainer (@Lee-W) confirmed in the issue thread that this is a documentation gap ("this is indeed something we can improve in the documentation"), and another user (@atiasn) confirmed in a follow-up comment that adding
additional_dependencies: ["cz-conventional-gitmoji"]resolved the problem for them — this PR documents exactly that fix.