Reproduction steps
Committing via Zed's built-in Git panel does not run the repository's commit-msg hook. A commit that a failing commit-msg hook should reject is created successfully through Zed's UI, while the same commit message correctly fails when run with git commit from a regular terminal.
This is related to #27232 (which covers prepare-commit-msg being skipped because Zed passes the commit message as a string instead of invoking git with itself as $EDITOR), but this report is specifically about commit-msg — a hook that runs after the message is finalized and shouldn't depend on an editor being invoked at all. Zed's own docs and discussion #47124 indicate pre-commit is expected to run through the UI and can block a commit, so commit-msg silently not running looks like a separate bug rather than expected behavior.
- In a git repo, configure hooks via husky (core.hooksPath pointing at a husky-managed directory) with a commit-msg hook that always rejects, e.g.:
.husky/commit-msg
echo "rejected" >&2
exit 1
2. Stage a file change.
3. Commit via a regular terminal (git commit -m "test") — confirm this is correctly rejected and no commit is created.
4. Commit the same change and message via Zed's Git panel (stage the file, enter the commit message, click Commit).
Current vs. Expected behavior
Expected behavior: Step 4 should fail the same way as step 3.
Actual behavior: Step 4 succeeds — a commit is created despite the hook being configured to always reject.
Zed version and system specs
Zed: v1.9.0+stable.316.ced90fc636c4ede05402befc38a63bae7fd741bd (Zed)
OS: macOS 26.5.1
Memory: 24 GiB
Architecture: aarch64
Attach Zed log file
there's nothing relevant in the zed log file I could find; the only output when committing is:
2026-07-05T00:12:29+01:00 INFO [zed::reliability] memory usage: resident 273 MiB (-10 MiB), virtual 485215 MiB
2026-07-05T04:34:21+01:00 INFO [zed::reliability] memory usage: resident 273 MiB (+0 MiB), virtual 485215 MiB
2026-07-05T08:09:47+01:00 INFO [zed::reliability] memory usage: resident 294 MiB (+20 MiB), virtual 485282 MiB
Relevant Zed settings
"git": {
"inline_blame": { "enabled": false },
},
Relevant Keymap
keymap.json
(for AI issues) Model provider details
No response
If you are using WSL on Windows, what flavor of Linux are you using?
None
Reproduction steps
Committing via Zed's built-in Git panel does not run the repository's commit-msg hook. A commit that a failing commit-msg hook should reject is created successfully through Zed's UI, while the same commit message correctly fails when run with git commit from a regular terminal.
This is related to #27232 (which covers prepare-commit-msg being skipped because Zed passes the commit message as a string instead of invoking git with itself as $EDITOR), but this report is specifically about commit-msg — a hook that runs after the message is finalized and shouldn't depend on an editor being invoked at all. Zed's own docs and discussion #47124 indicate pre-commit is expected to run through the UI and can block a commit, so commit-msg silently not running looks like a separate bug rather than expected behavior.
.husky/commit-msg
echo "rejected" >&2
exit 1
2. Stage a file change.
3. Commit via a regular terminal (git commit -m "test") — confirm this is correctly rejected and no commit is created.
4. Commit the same change and message via Zed's Git panel (stage the file, enter the commit message, click Commit).
Current vs. Expected behavior
Expected behavior: Step 4 should fail the same way as step 3.
Actual behavior: Step 4 succeeds — a commit is created despite the hook being configured to always reject.
Zed version and system specs
Zed: v1.9.0+stable.316.ced90fc636c4ede05402befc38a63bae7fd741bd (Zed)
OS: macOS 26.5.1
Memory: 24 GiB
Architecture: aarch64
Attach Zed log file
there's nothing relevant in the zed log file I could find; the only output when committing is:
2026-07-05T00:12:29+01:00 INFO [zed::reliability] memory usage: resident 273 MiB (-10 MiB), virtual 485215 MiB
2026-07-05T04:34:21+01:00 INFO [zed::reliability] memory usage: resident 273 MiB (+0 MiB), virtual 485215 MiB
2026-07-05T08:09:47+01:00 INFO [zed::reliability] memory usage: resident 294 MiB (+20 MiB), virtual 485282 MiB
Relevant Zed settings
"git": {
"inline_blame": { "enabled": false },
},
Relevant Keymap
keymap.json
(for AI issues) Model provider details
No response
If you are using WSL on Windows, what flavor of Linux are you using?
None