Skip to content

refactor(cli): remove built-in WarpGrep - #13084

Merged
johnnyeric merged 1 commit into
mainfrom
johnnyeric/remove-warpgrep
Aug 12, 2026
Merged

refactor(cli): remove built-in WarpGrep#13084
johnnyeric merged 1 commit into
mainfrom
johnnyeric/remove-warpgrep

Conversation

@johnnyeric

@johnnyeric johnnyeric commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Issue

Fixes #12787

Context

Kilo currently bundles the experimental Morph WarpGrep implementation and @morphllm/morphsdk for every CLI and extension build, even when experimental.codebase_search is disabled. The SDK transitively pulls platform-specific ripgrep packages into the distribution and caused the missing-package warning reported in #12787 during ordinary extension use.

This dependency chain has caused several recent packaging and runtime issues. For example, #13065 attempted to work around WarpGrep’s platform-specific @vscode/ripgrep resolution failure in packaged builds.

Remove the built-in experiment and its unconditional packaging burden. Kilo's normal grep/file search and semantic search remain available.

Existing configurations that contain experimental.codebase_search continue to load: Kilo warns that the setting is retired, ignores it before strict parsing, and preserves unrelated configuration values.

Implementation

  • Remove the Morph SDK dependency, WarpGrep tool, registry/agent wiring, permission and sandbox classifications, and feature-only tests.
  • Remove the experimental setting from the CLI schema, generated OpenAPI/SDK types, VS Code settings UI, translations, docs, and client timeline classifications.
  • Normalize retired experimental flags across startup and project/global config update paths. Plain JSON rewrites drop the retired key; JSONC preserves the harmless key and comments while excluding it from resolved config.
  • Preserve historical changelog references and keep Kilo's unrelated direct ripgrep dependency intact.
  • Retarget the opaque network-helper sandbox regression to the surviving semantic_search tool.

The official Morph OpenCode plugin may be an opt-in migration path, but it is not treated as drop-in compatible here and this PR does not add a network-dependent integration.

Screenshots / Video

N/A — this removes an experimental settings toggle; there is no replacement visual flow.

How to Test

Manual/local verification

  • Ran the development CLI with an explicit config containing experimental.codebase_search: true:
    bun run dev debug config --pure --print-logs --log-level INFO
  • Confirmed startup exited successfully, logged ignored retired experimental.codebase_search config, preserved unrelated username and batch_tool values, and excluded codebase_search from resolved config.

Reviewer test steps

  1. Add experimental.codebase_search: true alongside another experimental setting such as batch_tool: true in a disposable Kilo config.
  2. Run bun run dev debug config --pure --print-logs --log-level INFO.
  3. Confirm startup succeeds, the retirement warning is logged, batch_tool remains enabled, and codebase_search is absent from resolved config.
  4. From packages/opencode, run bun test ./test/kilocode/config/config.test.ts and the focused tool-registry/sandbox tests touched by this change.

Agent-executed verification:

  • CLI/core/SDK/VS Code/docs/JetBrains typechecks passed.
  • 187 focused OpenCode tests and 16 VS Code timeline tests passed during independent review.
  • VS Code build:check, knip, and marker guard passed.
  • OpenAPI/SDK regeneration and source-link extraction completed cleanly.
  • Frozen-lock install, OpenCode annotation, model-network, architecture, markdown-table, changeset, root lint, and git diff --check guards passed.
  • An independent Fable review returned safe to merge with no runtime defects.

Checklist

  • Issue linked above, or exception explained
  • Tests/verification described
  • Screenshots/video included for visual changes, or marked N/A
  • Changeset considered for user-facing changes
  • I personally reviewed the diff and can explain the changes, including any AI-assisted work.

@johnnyeric
johnnyeric force-pushed the johnnyeric/remove-warpgrep branch 2 times, most recently from 49ddb39 to 43df520 Compare August 12, 2026 11:45
@johnnyeric
johnnyeric marked this pull request as ready for review August 12, 2026 11:55
Comment thread packages/core/src/v1/config/config.ts
Comment thread .changeset/remove-builtin-warpgrep.md Outdated
@kilo-code-bot

kilo-code-bot Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: 1 Issue Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 0
SUGGESTION 1

Incremental review of 43df520..fe453de: the only new change bumps the changeset from patch to minor, resolving the previous changeset suggestion — that comment is now outdated. No new issues found in the changed lines. One suggestion from the previous review remains open (cloud config schema mirror), unchanged since the touched file was not modified in this update. The removal remains thorough and internally consistent, with no stale warpgrep/codebase_search references and no memory-leak concerns (the PR only removes code; new tests restore Global.Path.config in finally).

Fix these issues in Kilo Cloud

Issue Details (click to expand)

SUGGESTION

File Line Issue
packages/core/src/v1/config/config.ts 296 Mirror the removed codebase_search key in the cloud repo's config JSON Schema (apps/web/src/app/config.json/extras.ts) — CI doesn't check this
Files Reviewed (54 files)
  • .changeset/remove-builtin-warpgrep.md - previous suggestion resolved (bumped to minor)
  • packages/core/src/v1/config/config.ts - 1 issue
  • packages/opencode/src/config/config.ts
  • packages/opencode/src/kilocode/config/config.ts
  • packages/opencode/src/kilocode/agent/index.ts
  • packages/opencode/src/kilocode/tool/registry.ts
  • packages/opencode/src/kilocode/sandbox/network-tools.ts
  • packages/opencode/src/tool/warpgrep.ts (deleted)
  • packages/opencode/src/tool/warpgrep.txt (deleted)
  • packages/opencode/package.json
  • packages/opencode/test/kilocode/config/config.test.ts
  • packages/opencode/test/kilocode/ask-agent-permissions.test.ts
  • packages/opencode/test/kilocode/chart-tool-gating.test.ts
  • packages/opencode/test/kilocode/sandbox/network.test.ts
  • packages/opencode/test/kilocode/tool-registry-indexing.test.ts
  • packages/opencode/test/kilocode/tool-registry-indexing-import-failure.test.ts
  • packages/opencode/test/kilocode/tool-registry-semantic-import-failure.test.ts
  • packages/opencode/test/kilocode/tool/send-file.test.ts
  • packages/kilo-vscode/webview-ui/src/components/settings/ExperimentalTab.tsx
  • packages/kilo-vscode/webview-ui/src/types/messages/config.ts
  • packages/kilo-vscode/webview-ui/src/utils/timeline/colors.ts
  • packages/kilo-vscode/webview-ui/src/stories/tool-call-lab.stories.tsx
  • packages/kilo-vscode/webview-ui/src/i18n/*.ts (21 locales)
  • packages/kilo-vscode/tests/unit/timeline-colors.test.ts
  • packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/model/Message.kt
  • packages/sdk/js/src/v2/gen/types.gen.ts
  • packages/sdk/openapi.json
  • packages/kilo-docs/pages/getting-started/settings/index.md
  • packages/kilo-docs/source-links.md
  • packages/kilo-docs/public/img/.../search-previews-chromium-linux.png
  • docs/jetbrains-vscode-settings-parity.md
  • script/architecture-allowlist.json
  • script/check-model-tool-network.ts
  • bun.lock
Previous Review Summary (commit 43df520)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit 43df520)

Status: 2 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 0
SUGGESTION 2

The removal is thorough and internally consistent: tool, registry, agent permissions, sandbox classification, config schema, settings UI, i18n, docs, SDK/OpenAPI, and tests are all updated, and a grep of the PR head shows no stale warpgrep/codebase_search/morphsdk references outside intentional historical changelog entries and the models fixture. The config-migration path (retire flag on load, JSON rewrite drops it, JSONC preserves it with comments) is well-tested and handles strict-schema parse failures correctly. Permission schema uses a rest-record, so existing permission.codebase_search entries in user configs still parse. No memory-leak concerns — the PR only removes code, and the new tests restore Global.Path.config in finally.

Fix these issues in Kilo Cloud

Issue Details (click to expand)

SUGGESTION

File Line Issue
packages/core/src/v1/config/config.ts 296 Mirror the removed codebase_search key in the cloud repo's config JSON Schema (apps/web/src/app/config.json/extras.ts) — CI doesn't check this
.changeset/remove-builtin-warpgrep.md 2 Changeset uses patch; removing a user-visible experimental tool may warrant minor
Files Reviewed (54 files)
  • .changeset/remove-builtin-warpgrep.md - 1 issue
  • packages/core/src/v1/config/config.ts - 1 issue
  • packages/opencode/src/config/config.ts
  • packages/opencode/src/kilocode/config/config.ts
  • packages/opencode/src/kilocode/agent/index.ts
  • packages/opencode/src/kilocode/tool/registry.ts
  • packages/opencode/src/kilocode/sandbox/network-tools.ts
  • packages/opencode/src/tool/warpgrep.ts (deleted)
  • packages/opencode/src/tool/warpgrep.txt (deleted)
  • packages/opencode/package.json
  • packages/opencode/test/kilocode/config/config.test.ts
  • packages/opencode/test/kilocode/ask-agent-permissions.test.ts
  • packages/opencode/test/kilocode/chart-tool-gating.test.ts
  • packages/opencode/test/kilocode/sandbox/network.test.ts
  • packages/opencode/test/kilocode/tool-registry-indexing.test.ts
  • packages/opencode/test/kilocode/tool-registry-indexing-import-failure.test.ts
  • packages/opencode/test/kilocode/tool-registry-semantic-import-failure.test.ts
  • packages/opencode/test/kilocode/tool/send-file.test.ts
  • packages/kilo-vscode/webview-ui/src/components/settings/ExperimentalTab.tsx
  • packages/kilo-vscode/webview-ui/src/types/messages/config.ts
  • packages/kilo-vscode/webview-ui/src/utils/timeline/colors.ts
  • packages/kilo-vscode/webview-ui/src/stories/tool-call-lab.stories.tsx
  • packages/kilo-vscode/webview-ui/src/i18n/*.ts (21 locales)
  • packages/kilo-vscode/tests/unit/timeline-colors.test.ts
  • packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/model/Message.kt
  • packages/sdk/js/src/v2/gen/types.gen.ts
  • packages/sdk/openapi.json
  • packages/kilo-docs/pages/getting-started/settings/index.md
  • packages/kilo-docs/source-links.md
  • packages/kilo-docs/public/img/.../search-previews-chromium-linux.png
  • docs/jetbrains-vscode-settings-parity.md
  • script/architecture-allowlist.json
  • script/check-model-tool-network.ts
  • bun.lock

Reviewed by kimi-k3 · Input: 81.4K · Output: 3.3K · Cached: 161.3K

Review guidance: REVIEW.md from base branch main

@johnnyeric
johnnyeric merged commit 5c97b48 into main Aug 12, 2026
35 checks passed
@johnnyeric
johnnyeric deleted the johnnyeric/remove-warpgrep branch August 12, 2026 13:29
t7tran pushed a commit to t7tran/kilocode that referenced this pull request Aug 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bundled CLI (bin/kilo) requires @vscode/ripgrep-darwin-arm64 but optional dep is not shipped with the extension

2 participants