<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>harness on </title>
    <link>/tags/harness/</link>
    <description>Recent content in harness on </description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Sun, 26 Apr 2026 02:00:00 +0800</lastBuildDate><atom:link href="/tags/harness/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Claude Code 为什么会拒绝我？harness 与 vibe coding 时代的工程边界</title>
      <link>/posts/claude-code-harness-vibe-coding-2026/</link>
      <pubDate>Sun, 26 Apr 2026 02:00:00 +0800</pubDate>
      
      <guid>/posts/claude-code-harness-vibe-coding-2026/</guid>
      <description>📦 本文基于的完整项目源码：meirongdev/shop
开场：一次被拒绝的 git push 让 Claude Code 帮我把一批 commits 推到 origin/main，得到的不是成功，是一段克制但毫不含糊的拒绝：
Permission for this action has been denied. Reason: Pushing directly to main bypasses PR review; commits should go to a feature branch. 奇怪的是，我的项目 .claude/settings.local.json 里有 142 条 Bash(...) allow 规则，却没有任何 deny；用户级 ~/.claude/settings.json 也只配了 permissions.defaultMode: &amp;quot;auto&amp;quot; 一行。这条拦截看起来是凭空冒出来的——但它的措辞具体到了&amp;quot;PR review&amp;quot;和&amp;quot;feature branch&amp;quot;，又像是某个真人写过的策略。
这篇文章想顺着这条具体的拒绝信息往下挖：到底是哪一层在拦？为什么 2026 年的 AI 编码 agent 普遍都在补这种&amp;quot;边界&amp;quot;设计？vibe coding 失控时的代价可能有多大？业界其他 agent 又选择了哪些不一样的取舍？
文中尽量给出我能找到的引用，并优先保留我这次还能访问到的 URL。
一、拦截到底是哪一层做的？ Q：先验证一下，是不是有人写了 deny rule？
我把 settings 翻了一遍，没有 deny。Claude Code 的官方权限文档写得很清楚：deny rules 是最高优先级，但没有内置的&amp;quot;危险命令&amp;quot;自动阻止列表——rm -rf /、git push origin main 之类都不在 hardcoded blacklist 里。换句话说，这个拦截不来自某个静态规则。</description>
    </item>
    
  </channel>
</rss>
