fix: allow Windows startup without Git Bash#261
Closed
Fengzdadi wants to merge 1 commit into
Closed
Conversation
🦋 Changeset detectedLatest commit: 4241ee1 The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
commit: |
Contributor
|
我怀疑在没有bash用的情况下仍然正常启动kimi code是否是合适的做法。 |
Open
Contributor
Author
赞成这个事情,因为我想的理想情况是,可以启动,某种程度上,聊天,修改文件等等功能都不受限。但是真正需要调用 bash 的时候,再给用户提示? |
Collaborator
|
最初的设计如此,我先关闭这个 PR,可以在 issue 中讨论。 |
5 tasks
fancyboi999
added a commit
to fancyboi999/kimi-code
that referenced
this pull request
Jun 2, 2026
…tAI#291) External CLI tools (ripgrep, fd, Git Bash on Windows) were each probed, degraded, and described in a different corner of the codebase, with inconsistent severity: ripgrep auto-downloads, fd degraded silently, and a missing Windows Git Bash crashed the whole CLI at core construction (MoonshotAI#259) even though only the Bash tool needs a shell. - kaos: detectEnvironment returns shellAvailable / shellUnavailableReason metadata instead of throwing, so the CLI starts without Git Bash. - agent-core: ToolManager omits the Bash tool when the shell is unavailable; the system prompt explains why. Removes the now-dead KaosShellNotFoundError, ErrorCodes.SHELL_GIT_BASH_NOT_FOUND, and the core-impl catch that translated them. - node-sdk: expose KimiHarness.getEnvironment() over the RPC seam. - app: a declarative system-dependency registry + pure check + report (apps/kimi-code/src/cli/system-deps). Startup warns when fd is missing outside a git repo or the shell is unavailable; /status reports the health of all three. fd absence is no longer silent. - docs: declare the system dependencies (getting-started, tools). Supersedes the piecemeal approaches in MoonshotAI#261 (git bash) and MoonshotAI#290 (fd).
fancyboi999
added a commit
to fancyboi999/kimi-code
that referenced
this pull request
Jun 2, 2026
…tAI#291) External CLI tools (ripgrep, fd, Git Bash on Windows) were each probed, degraded, and described in a different corner of the codebase, with inconsistent severity: ripgrep auto-downloads, fd degraded silently, and a missing Windows Git Bash crashed the whole CLI at core construction (MoonshotAI#259) even though only the Bash tool needs a shell. - kaos: detectEnvironment returns shellAvailable / shellUnavailableReason metadata instead of throwing, so the CLI starts without Git Bash. - agent-core: ToolManager omits the Bash tool when the shell is unavailable; the system prompt explains why. Removes the now-dead KaosShellNotFoundError, ErrorCodes.SHELL_GIT_BASH_NOT_FOUND, and the core-impl catch that translated them. - node-sdk: expose KimiHarness.getEnvironment() over the RPC seam. - app: a declarative system-dependency registry + pure check + report (apps/kimi-code/src/cli/system-deps). Startup warns when fd is missing outside a git repo or the shell is unavailable; /status reports the health of all three. fd absence is no longer silent. - docs: declare the system dependencies (getting-started, tools). Supersedes the piecemeal approaches in MoonshotAI#261 (git bash) and MoonshotAI#290 (fd).
fancyboi999
added a commit
to fancyboi999/kimi-code
that referenced
this pull request
Jun 2, 2026
…tAI#291) External CLI tools (ripgrep, fd, Git Bash on Windows) were each probed, degraded, and described in a different corner of the codebase, with inconsistent severity: ripgrep auto-downloads, fd degraded silently, and a missing Windows Git Bash crashed the whole CLI at core construction (MoonshotAI#259) even though only the Bash tool needs a shell. - kaos: detectEnvironment returns shellAvailable / shellUnavailableReason metadata instead of throwing, so the CLI starts without Git Bash. - agent-core: ToolManager omits the Bash tool when the shell is unavailable; the system prompt explains why. Removes the now-dead KaosShellNotFoundError, ErrorCodes.SHELL_GIT_BASH_NOT_FOUND, and the core-impl catch that translated them. - node-sdk: expose KimiHarness.getEnvironment() over the RPC seam. - app: a declarative system-dependency registry + pure check + report (apps/kimi-code/src/cli/system-deps). Startup warns when fd is missing outside a git repo or the shell is unavailable; /status reports the health of all three. fd absence is no longer silent. - docs: declare the system dependencies (getting-started, tools). Supersedes the piecemeal approaches in MoonshotAI#261 (git bash) and MoonshotAI#290 (fd).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related Issue
Resolve #259
Problem
See linked issue. On Windows, environment detection failed fast with
shell.git_bash_not_foundwhen Git Bash was not installed, so Kimi Code CLI could not start even though only theBashtool depends on Git Bash semantics.What changed
bash.execannot be found.Bashtool when the runtime shell is unavailable, while keeping file, search, planning, and other tools available.osEnv.Checklist
gen-changesetsskill, or this PR needs no changeset.gen-docsskill, or this PR needs no doc update.Validation
env PATH=/opt/homebrew/opt/node@24/bin:$PATH node_modules/.bin/vitest run packages/kaos/test/environment.test.ts packages/agent-core/test/agent/config.test.ts packages/agent-core/test/profile/agent-profile-loader.test.tsenv PATH=/opt/homebrew/opt/node@24/bin:$PATH node_modules/.bin/tsc -p packages/kaos/tsconfig.json --noEmit --pretty falseenv PATH=/opt/homebrew/opt/node@24/bin:$PATH node_modules/.bin/tsc -p packages/agent-core/tsconfig.json --noEmit --pretty falsegit diff --checkenv PATH=/opt/homebrew/opt/node@24/bin:$PATH corepack pnpm --dir docs run buildNote:
node docs/scripts/sync-changelog.mjscould not run becausedocs/scripts/sync-changelog.mjsis not present on the current upstream branch.