[STUDY] Tool implementation patterns — how Claude Code builds BashTool, FileEdit, MCP #163
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent Epic: #154
Assigned to: Allegro
Source
Timmy_Foundation/claude-code-src(private, your token works)Source Files
src/Tool.ts(29K) — the base Tool interfacesrc/tools/BashTool/— shell executionsrc/tools/FileEditTool/— file editing with diffssrc/tools/FileReadTool/— file readingsrc/tools/MCPTool/— MCP server tool integrationsrc/tools/SkillTool/— skill invocationsrc/tools/shared/— shared tool utilitiesWhat to Study
Tool.tsdefine? Input schema, permissions, progress reporting?useCanUseToolgate access per-tool?Why This Matters
Our uni-wizard tool registry (PR #100) is a simpler version of this. Understanding how Claude Code structures tools tells us what we're missing — especially around permissions, progress reporting, and sandboxing.
Deliverable
Comparison document: Claude Code tool patterns vs our uni-wizard registry. What we should adopt.
Acceptance Criteria