diff --git a/src/modes/agent/parse-tools.ts b/src/modes/agent/parse-tools.ts index b0b844e..9b2fdcb 100644 --- a/src/modes/agent/parse-tools.ts +++ b/src/modes/agent/parse-tools.ts @@ -1,10 +1,10 @@ export function parseAllowedTools(claudeArgs: string): string[] { - // Match --allowedTools followed by the value + // Match --allowedTools or --allowed-tools followed by the value // Handle both quoted and unquoted values const patterns = [ - /--allowedTools\s+"([^"]+)"/, // Double quoted - /--allowedTools\s+'([^']+)'/, // Single quoted - /--allowedTools\s+([^\s]+)/, // Unquoted + /--(?:allowedTools|allowed-tools)\s+"([^"]+)"/, // Double quoted + /--(?:allowedTools|allowed-tools)\s+'([^']+)'/, // Single quoted + /--(?:allowedTools|allowed-tools)\s+([^\s]+)/, // Unquoted ]; for (const pattern of patterns) { diff --git a/test/modes/parse-tools.test.ts b/test/modes/parse-tools.test.ts index f32281a..e88e800 100644 --- a/test/modes/parse-tools.test.ts +++ b/test/modes/parse-tools.test.ts @@ -68,4 +68,20 @@ describe("parseAllowedTools", () => { "mcp__github_comment__update", ]); }); + + test("parses kebab-case --allowed-tools", () => { + const args = "--allowed-tools mcp__github__*,mcp__github_comment__*"; + expect(parseAllowedTools(args)).toEqual([ + "mcp__github__*", + "mcp__github_comment__*", + ]); + }); + + test("parses quoted kebab-case --allowed-tools", () => { + const args = '--allowed-tools "mcp__github__*,mcp__github_comment__*"'; + expect(parseAllowedTools(args)).toEqual([ + "mcp__github__*", + "mcp__github_comment__*", + ]); + }); });