diff --git a/src/handlers/message.ts b/src/handlers/message.ts index 6514576..c91e086 100644 --- a/src/handlers/message.ts +++ b/src/handlers/message.ts @@ -29,7 +29,7 @@ export function createMessageHandler( await ctx.replyWithChatAction("typing"); // Run Claude call without blocking the bot's event loop - claude.sendMessage(text, session.sessionId).then(async (result) => { + claude.sendMessage(text, session.sessionId, session.cwd).then(async (result) => { const response = result || "(empty response)"; const chunks = splitMessage(response); for (const chunk of chunks) { diff --git a/src/services/claude.ts b/src/services/claude.ts index 1f3312b..260508e 100644 --- a/src/services/claude.ts +++ b/src/services/claude.ts @@ -59,10 +59,10 @@ export class ClaudeService { }; } - async sendMessage(prompt: string, sessionId: string): Promise { + async sendMessage(prompt: string, sessionId: string, cwd: string): Promise { const raw = await runClaude( ["-p", prompt, "--output-format", "json", "--resume", sessionId, "--dangerously-skip-permissions", "--append-system-prompt", APPEND_PROMPT], - process.cwd(), + cwd, ); const parsed = JSON.parse(raw.trim().split("\n").pop()!) as CliJsonResult;