Skip to content

Evidence wanted: kilo_code adapter (vendor-docs) #175

Open

Description

@jothimani-rajendran

The kilo_code row in src/agentseam/data/matrix.json (added in #173) rests on vendor documentation only (basis: vendor-docs). Nobody has tested it against a running Kilo Code. This issue asks for evidence that confirms the row or proves it wrong.

What the row claims

Claim Source (doc, version, date read)
Tier unadapted, grade none at every event. Kilo Code documents no command hook, meaning no config key that runs an external process with a JSON payload on a lifecycle event. Schema: https://app.kilo.ai/config.json (no key containing hook). Read against @kilocode/cli 7.8.8, 2026-10-11
Its only interception surface is in-process. That surface is the OpenCode-derived JS/TS plugin API: tool.execute.before, which can throw to block. Plugins load from .kilo/plugin/ (legacy .kilocode/plugin/) or the config's plugin array. It works in the CLI and the VS Code extension. https://kilo.ai/docs/automate/extending/plugins ("applies to the current VSCode extension & CLI"), 2026-10-11
The vendor maps Claude Code's PreToolUse to that plugin hook, not to a command hook. https://kilo.ai/articles/claude-code-to-kilo-code-migration-guide (section "Turn hooks into plugins"), 2026-10-11
No command hook has been announced. Kilo-Org/kilocode#7859, which asked for PreToolUse command hooks, was closed in a bulk close of legacy-extension issues. The close said nothing about command hooks. Kilo-Org/kilocode#7859, read 2026-10-11
It reads AGENTS.md for standing instructions (instructions.py). https://kilo.ai/docs/customize/custom-instructions, 2026-10-11

How to test it

  1. Install the CLI with npm install -g @kilocode/cli, or the VS Code extension kilocode.kilo-code. Record kilo --version, or the extension version.
  2. Command hooks. Check whether this release accepts a command hook. Add a hook-like key to kilo.jsonc and start kilo.
    • The row holds if the key is rejected, or if the command never runs.
    • The row is disproved if any documented key makes Kilo run an external command with a JSON payload before a tool call.
  3. In-process plugin. Put this file at .kilo/plugin/block.ts:
    import type { Plugin } from "@kilocode/plugin"
    const block: Plugin = async () => ({ "tool.execute.before": async (input) => { if (input.tool === "bash") throw new Error("blocked") } })
    export default { id: "block", server: block }
    Ask the agent to run echo hi.
    • The row's description of the surface holds if the bash call is refused with "blocked".
    • If the call runs, the plugin surface is not what the row says.
  4. Instructions. Put a distinctive line in AGENTS.md and ask the agent to repeat its instructions. The line should come back.

How to submit evidence

Comment here, or use the evidence-report issue form, with:

  • the Kilo client version (CLI or extension) and your OS;
  • a transcript or screen recording of steps 2–4;
  • the src/agentseam/data/vendor-releases.json entry tools/watch_versions.py should track, if @kilocode/cli is the wrong feed.

A row moves from vendor-docs to tested or witnessed only through evidence like this, never by editing its basis by hand.

If a claim is wrong, a fix PR is welcome. It should change the row's verified record and notes, and link this issue.

Activity

  1. added
    help wantedExtra attention is needed
    evidence wantedNeeds a tested or witnessed run of this adapter to upgrade its vendor-docs claim
    on Oct 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    evidence wantedNeeds a tested or witnessed run of this adapter to upgrade its vendor-docs claimhelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions