
7. Letting the Agent Read the Issue Itself
A fast-add bug becomes a GitHub issue that Claude Code reads through GitHub's MCP server, with read, comment and delete tools each given their own permission. The bug is then fixed against the issue's acceptance criteria, and MCP is weighed against the gh CLI and a small script. Recent Claude Code releases that affect MCP, hooks and unattended runs close it out. This episode is narrated by AI-generated synthetic voices. Episode page & show notes Visit website A tracked issue for the fast-add bug The bug that makes a second, quickly added item vanish from the screen gets written up as GitHub issue twelve. The issue has a plain problem statement taken from the reproduction note and two testable acceptance criteria. No item vanishes when two are added quickly, and a reload shows the same list the screen showed. Adding GitHub's MCP server MCP, the Model Context Protocol, lets Claude Code take on extra tools from a separate server. It is separate from the Claude API and the Agent SDK. GitHub's remote server is added at project scope, so it is written to a committed .mcp.json. A personal access token comes in through an environment variable placeholder, so the token itself never lands in the file. Teammates who clone the repo must approve the server before it runs. claude mcp list and claude mcp get github confirm the connection is healthy. Sorting tools and setting permissions The /mcp manager lists the server's tools, which split into reads and writes: Allow: get_issue and get_issue_comments Ask: add_issue_comment Deny: the delete tools An allow wildcard must follow a literal server prefix. Deny beats ask, and ask beats allow. Tool search keeps tool definitions deferred until the model needs them. One small test comes first: the agent reads issue twelve word for word, and the reply is checked against the browser. Issue text describes the task. It is never an instruction to the agent. Fixing from the acceptance criteria The fix changes each save so it adds its own item to the current list. Before, each save wrote back a stale copy of the list. Disabling the add button would not meet the criteria. A regression test is confirmed to fail on the old code and pass on the new one. After that comes the full suite and a manual check in the app, both before and after a reload. The agent drafts a comment on the issue, which waits for approval before posting. The issue stays open. gh, a script, or MCP The gh CLI: low context cost and low upkeep, but viewing and commenting are hard to tell apart for the permission system. A committed REST script: the lowest context cost, but you maintain it and it can only do what you wrote. MCP: the most operations, each with its own permission rule, but the highest context cost. The rule: built-in tools first, a script for one fixed step, MCP when you need many operations with separate control over each. Recent Claude Code releases 2.1.300: fixes tool search switching itself off after a resumed session reconnects. It also validates hook-rewritten tool inputs against the tool's schema. 2.1.302: fixes servers on the July 28, 2026 protocol version that could show zero tools. Unattended runs: claude -p and the Agent SDK may now start in default mode on third-party providers, so pass the auto permission mode explicitly if a script relied on it. 2.1.301: adds a setting that aborts a request when a usage limit would reset too far in the future. Hook cap: prompt and agent hooks are capped at twelve running at once per event, with extras queued.