From 94277397ab6d60140fdc9a952061995da920e747 Mon Sep 17 00:00:00 2001 From: qkunio Date: Fri, 5 Jun 2026 17:18:41 +0800 Subject: [PATCH] fix: handle windows session workdir separators --- apps/kimi-code/package.json | 1 + apps/kimi-code/src/cli/run-prompt.ts | 3 ++- apps/kimi-code/src/tui/kimi-tui.ts | 3 ++- pnpm-lock.yaml | 3 +++ 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/kimi-code/package.json b/apps/kimi-code/package.json index 7dc7bc555..446bed9c8 100644 --- a/apps/kimi-code/package.json +++ b/apps/kimi-code/package.json @@ -71,6 +71,7 @@ "chalk": "^5.4.1", "cli-highlight": "^2.1.11", "commander": "^13.1.0", + "pathe": "^2.0.3", "semver": "^7.7.4", "smol-toml": "^1.6.1", "zod": "^4.3.6" diff --git a/apps/kimi-code/src/cli/run-prompt.ts b/apps/kimi-code/src/cli/run-prompt.ts index 7d41e6246..465aa46b9 100644 --- a/apps/kimi-code/src/cli/run-prompt.ts +++ b/apps/kimi-code/src/cli/run-prompt.ts @@ -17,6 +17,7 @@ import { type SessionStatus, type TelemetryClient, } from '@moonshot-ai/kimi-code-sdk'; +import { resolve } from 'pathe'; import { CLI_SHUTDOWN_TIMEOUT_MS } from '#/constant/app'; import { experimentalFeatureMap } from '#/utils/experimental-features'; @@ -229,7 +230,7 @@ async function resolvePromptSession( if (target === undefined) { throw new Error(`Session "${opts.session}" not found.`); } - if (target.workDir !== workDir) { + if (resolve(target.workDir) !== resolve(workDir)) { stderr.write( `${chalk.hex('#E8A838')( `Session "${opts.session}" was created under a different directory.\n` + diff --git a/apps/kimi-code/src/tui/kimi-tui.ts b/apps/kimi-code/src/tui/kimi-tui.ts index cd777a0f6..1208d40c0 100644 --- a/apps/kimi-code/src/tui/kimi-tui.ts +++ b/apps/kimi-code/src/tui/kimi-tui.ts @@ -22,6 +22,7 @@ import type { Session, } from '@moonshot-ai/kimi-code-sdk'; import chalk from 'chalk'; +import { resolve } from 'pathe'; import type { CLIOptions } from '#/cli/options'; import { MigrationScreenComponent, type MigrationScreenResult } from '#/migration/index'; @@ -511,7 +512,7 @@ export class KimiTUI { if (target === undefined) { throw new Error(`Session "${startup.sessionFlag}" not found.`); } - if (target.workDir !== workDir) { + if (resolve(target.workDir) !== resolve(workDir)) { this.state.ui.stop(); process.stderr.write( `${chalk.hex(this.state.theme.colors.warning)( diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6279480f9..f45e189d8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -87,6 +87,9 @@ importers: commander: specifier: ^13.1.0 version: 13.1.0 + pathe: + specifier: ^2.0.3 + version: 2.0.3 semver: specifier: ^7.7.4 version: 7.7.4