)]}'
{
  "commit": "d499fd6e12374193df2d769d12753bbd1ddd1493",
  "tree": "e8c2a8a134773164910b78b4606bd196c55d6d5f",
  "parents": [
    "dae19073cfdc420af8da311c4f3974ac6db77b46"
  ],
  "author": {
    "name": "Josh Bleecher Snyder",
    "email": "josharian@gmail.com",
    "time": "Wed Apr 30 01:31:29 2025 +0000"
  },
  "committer": {
    "name": "Josh Bleecher Snyder",
    "email": "josharian@gmail.com",
    "time": "Tue Apr 29 19:06:19 2025 -0700"
  },
  "message": "Add permission callback to Bash tool to enforce title setting before git commits\n\n- Convert Bash tool from a plain variable to a struct with a permission callback function\n- Add a constructor for creating Bash tools with custom callback functions\n- Implement a permission check in agent.go that verifies a branch name has been set before allowing git commits\n- If no branch name is set and a git commit command is attempted, return an error instructing to use the title tool first\n- Maintain backward compatibility for tests with BashRun function\n\nCo-Authored-By: sketch \u003chello@sketch.dev\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2edd23061fe338060f5287578926a7141bad4d27",
      "old_mode": 33188,
      "old_path": "claudetool/bash.go",
      "new_id": "b3b8b0349392b8fb94406ecefa51d1e3f0e064fc",
      "new_mode": 33188,
      "new_path": "claudetool/bash.go"
    },
    {
      "type": "modify",
      "old_id": "0b8d59338871b8e3f3843b6b23b26d1932f477d8",
      "old_mode": 33188,
      "old_path": "loop/agent.go",
      "new_id": "9b391d01dd13e544ca26f52d681ed19a2a8b4e12",
      "new_mode": 33188,
      "new_path": "loop/agent.go"
    }
  ]
}
