# AI 代码追踪 git hook 拉起 GUI 主程序阻塞 git commit，空 pre-push 导致 git push 报错

**URL:** <https://forum.qoder.com/t/ai-git-hook-gui-git-commit-pre-push-git-push/12461>\
**Category:** Bug Reports\
**Tags:** others\
**Created:** [September 14, 2026, 3:40am UTC](https://forum.qoder.com/t/ai-git-hook-gui-git-commit-pre-push-git-push/12461 "2026-09-14T03:40:14Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![alvin](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.qoder.com/alvin/32/5694_2.png) [@alvin](https://forum.qoder.com/u/alvin)\
**Post date:** [September 14, 2026, 3:40am UTC](https://forum.qoder.com/t/ai-git-hook-gui-git-commit-pre-push-git-push/12461/1 "2026-09-14T03:40:14Z")

</div>

## Issue Description

Windows 上 Qoder Desktop 0.2.1 的「AI 代码追踪」向仓库注入 git hooks，导致两个严重问题：

1. 每次执行 `git commit`，Qoder 主程序窗口被拉起至前台，且 git 命令被阻塞，必须手动退出 Qoder 后 commit 才继续完成。
2. 每次执行 `git push` 报错 `error: cannot spawn .git/hooks/pre-push: No such file or directory`，必须加 `--no-verify` 才能推送。

## Steps to Reproduce

1. 安装 Qoder Desktop 0.2.1（Windows），打开任意 git 仓库。
2. 终端执行 `git commit` → 观察 Qoder GUI 被拉起、命令卡住，退出 Qoder 后才继续。
3. 终端执行 `git push` → 观察 `cannot spawn .git/hooks/pre-push` 报错。

## Root Cause（已定位）

注入的 hooks 位于 `.git/hooks/`：

- `post-commit` / `post-checkout`：启动完整 GUI 主程序 `Qoder.exe .../qoder-agent-sdk/dist/_worker/qoder-worker-runtime.obf.mjs commit --hook --workspace <repo>`（checkout 时为 `ai-code-tracking-hook post-checkout`）。Git 同步等待 hook 结束；Windows 将新进程窗口激活到前台，于是 Qoder 抢占屏幕且 git 被挂起。
- `pre-push`：生成为 **0 字节空文件、无 shebang** 。Git for Windows 执行空 hook 报 `cannot spawn`。
- 手动删除 hooks 后短时间内被重新写入。
- 配置键 `settings.aiCodeTracking.installGitCommitHook` 存在，但设置界面无对应开关、无文档说明。

## Expected Behavior

1. hook 内不得启动 GUI 进程：改用无窗口后台进程，绝不应阻塞 git 命令。
2. 修复空 `pre-push` 的生成逻辑。
3. 设置界面提供显式开关，并在注入 hooks 前征求用户同意。

## Actual Behavior

- `git commit` 被拉起 Qoder 阻塞，须手动退出 Qoder 才完成。
- `git push` 必须 `--no-verify`。

## Workaround（供其他用户参考）

- 仓库级（立即生效，阻止 Qoder 重新注入的 hook 被执行）：`git config core.hooksPath .githooks`（建一个空目录）。
- 全局配置：`~/.qoder/settings.json` 加 `settings.aiCodeTracking.installGitCommitHook: false`（需重启 Qoder）。

## Operating System

Windows 11 (10.0.26100)，Git for Windows

## Current Qoder Version

0.2.1（安装目录 `.qoder-versions/0.2.1`）

---

<div class="post-metadata">

**Author:** ![Austin\_Parker](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.qoder.com/austin_parker/32/5805_2.png) [@Austin\_Parker](https://forum.qoder.com/u/Austin_Parker)\
**Post date:** [September 14, 2026, 3:41am UTC](https://forum.qoder.com/t/ai-git-hook-gui-git-commit-pre-push-git-push/12461/2 "2026-09-14T03:41:10Z")

</div>

您好，辛苦更新最新版本 0.2.5 看是否还有类似问题

 ![image](https://canada1.discourse-cdn.com/flex010/uploads/qoder/original/2X/8/8c7683bd87fde1bd7aac3568a931321271ba0643.jpeg)
