cclients.dev

Search clients.dev

Search clients and configuration surfaces

All clients

Kilo Code

IDE extension

Kilo

Open-source AI coding agent extension for VS Code, part of the Kilo agentic engineering platform, configured via shared kilo.jsonc files.

MCP

Supported

MCP servers configured under the top-level mcp key of kilo.jsonc (project or global). Local (STDIO) and remote (Streamable HTTP with SSE fallback) servers, with OAuth 2.0 for remote servers.

Verified 2026-07-12Docs
Transportsstdiohttpsse
Authoauthheaders

Config files

PathScopeFormatKey
.kilo/kilo.jsonc

Preferred project location; kilo.json also accepted. Takes priority over root kilo.jsonc.

Projectjsoncmcp
kilo.jsonc

Project-root config alternative.

Projectjsoncmcp
~/.config/kilo/kilo.jsonc

Global config applying to all projects.

Globaljsoncmcp

Fields

FieldTypeDescription
type*"local" | "remote"Server kind: local spawns a child process over STDIO; remote connects over HTTP/HTTPS.
commandstring[]Command and arguments to start a local server (e.g. ["node", "/path/to/server.js"]).
environmentrecord<string, string>Environment variables for the local server process.
urlstringEndpoint URL for a remote server.
headersrecord<string, string>Custom HTTP headers for remote servers (e.g. Authorization).
oauthbooleanSet false to disable the automatic OAuth 2.0 flow for a remote server.
enabledbooleanToggle the server without removing its configuration.
timeoutnumberTimeout in milliseconds. Defaults: 10s for local servers, 15s for remote servers.

Capabilities

ToolsSupported
ResourcesSupported

Examples

Local (STDIO) server
{
  "mcp": {
    "my-local-server": {
      "type": "local",
      "command": ["node", "/path/to/server.js"],
      "environment": { "API_KEY": "your_api_key" },
      "enabled": true
    }
  }
}
Remote server with auto-approved tools
{
  "mcp": {
    "my-remote-server": {
      "type": "remote",
      "url": "https://your-server-url.com/mcp",
      "headers": { "Authorization": "Bearer your-token" }
    }
  },
  "permission": {
    "my_remote_server_*": "allow"
  }
}
  • Project-level configuration takes precedence over global configuration.
  • For remote servers Kilo tries Streamable HTTP first, then falls back to SSE automatically.
  • Remote servers supporting OAuth 2.0 trigger the auth flow automatically; disable with "oauth": false.
  • Tool auto-approval uses the shared permission key with namespaced names ({server}_{tool}) and wildcard patterns.
  • Config files support {env:VARIABLE_NAME} syntax to reference environment variables.

Skills

Supported

Agent Skills (SKILL.md packages) loaded from .kilo/skills/ (project) and ~/.kilo/skills/ (global), plus cross-agent compatibility directories and extra paths/URLs configured in kilo.jsonc.

Verified 2026-07-12Docs
Invokeautomatic (request matches skill description)skill tool (explicit load, e.g. "use the api-design skill")

Config files

PathScopeFormatKey
.kilo/skills/<name>/SKILL.md

Project skills, shareable via version control.

Projectmarkdown
~/.kilo/skills/<name>/SKILL.md

Personal skills available in all projects.

Globalmarkdown
.agents/skills/<name>/SKILL.md

Cross-agent compatibility directory, loaded by default.

Projectmarkdown
.claude/skills/<name>/SKILL.md

Claude Code compatibility directory, loaded when Claude Code Compatibility is enabled.

Projectmarkdown

Fields

FieldTypeDescription
name*stringMax 64 characters; lowercase letters, numbers, and hyphens only; must not start or end with a hyphen. Must match the parent directory name.
description*stringMax 1024 characters. Describes what the skill does and when to use it; the agent matches requests against this text.
licensestringLicense name or reference to a bundled license file.
compatibilitystringEnvironment requirements (intended product, system packages, network access, etc.).
metadatarecord<string, string>Arbitrary key-value mapping for additional metadata.

Examples

SKILL.md
---
name: api-design
description: REST API design best practices and conventions
---

# API Design Guidelines

When designing REST APIs, follow these conventions:

## URL Structure
- Use plural nouns for resources: /users, /orders
- Use kebab-case for multi-word resources: /order-items
Extra skill paths and remote URLs (kilo.jsonc)
{
  "skills": {
    "paths": ["/path/to/shared/skills", "~/my-skills"],
    "urls": ["https://example.com/.well-known/skills/"]
  }
}
  • Progressive disclosure: only name/description metadata is scanned at session start; the full SKILL.md loads on demand via the skill tool.
  • Project skills override global skills with the same name.
  • Compatibility directories: .agents/skills/ is loaded by default; .claude/skills/ when Claude Code Compatibility is enabled.
  • Extra locations via skills.paths (absolute, ~/, or project-relative) and skills.urls (remote directories serving an index.json manifest) in kilo.jsonc.
  • Skills can bundle scripts/, references/, and assets/ directories alongside SKILL.md.

Rules

Supported

Persistent instructions via auto-discovered AGENTS.md files (project root, subdirectories, and global config dir) plus the instructions array in kilo.jsonc pointing at rule files, globs, or URLs.

Verified 2026-07-12Docs

Config files

PathScopeFormatKey
AGENTS.md

Primary project instruction file at the workspace root; also loadable from any subdirectory.

Projectmarkdown
.kilo/rules/*.md

Conventional rules directory, referenced from the instructions array in kilo.jsonc.

Projectmarkdown
kilo.jsonc

Array of file paths, globs, or URLs pointing to instruction files. Also valid in .kilo/kilo.jsonc.

Projectjsoncinstructions
~/.config/kilo/AGENTS.md

Global instructions applying to all projects; ~/.claude/CLAUDE.md is read for Claude compatibility.

Globalmarkdown
~/.config/kilo/kilo.jsonc

Global instruction sources.

Globaljsoncinstructions

Examples

Instruction sources (kilo.jsonc)
{
  "instructions": [
    ".kilo/rules/formatting.md",
    ".kilo/rules/*.md",
    "https://example.com/team-instructions.md"
  ]
}
Rule file (.kilo/rules/restricted_files.md)
# Restricted files

Files in the list contain sensitive data, they MUST NOT be read

- supersecrets.txt
- credentials.json
- .env
  • AGENTS.md is the primary instruction file; CLAUDE.md and CONTEXT.md are also recognized at the project root (discovered via findUp in parent directories too).
  • Per-directory AGENTS.md files are loaded dynamically when the agent reads a file in that directory.
  • The instructions key in kilo.jsonc accepts paths, glob patterns, and URLs; URL sources are fetched at session start with a 5-second timeout.
  • Global instructions from the global kilo.jsonc load after project instructions; project-level instructions take precedence on conflict.
  • Backward compatible with legacy .kilocode/rules/ directories and .kilocoderules files via auto-migration; migrating to kilo.jsonc/AGENTS.md is recommended.
  • Markdown is recommended for rule files, though plain text works.

Hooks

Not supported

Kilo Code does not expose user-configurable lifecycle hooks.

Verified 2026-07-12
  • The official documentation has no hooks feature and no hook configuration file.
  • An open feature request in the official repo (Kilo-Org/kilocode#5827) asks for session lifecycle hooks, confirming they are not currently available.

Commands

Supported

Workflows (slash commands) as markdown files in .kilo/commands/ (project) or ~/.config/kilo/commands/ (global); the filename becomes the command name.

Verified 2026-07-12Docs
Invoke/command-name

Config files

PathScopeFormatKey
.kilo/commands/<name>.md
Projectmarkdown
~/.config/kilo/commands/<name>.md
Globalmarkdown

Fields

FieldTypeDescription
descriptionstringShown in the command picker.
agentstringWhich agent to use when invoking this command.
modelstringModel override for this command.
subtaskbooleanWhen true, runs the command as a sub-agent session.

Examples

PR submission workflow (.kilo/commands/submit-pr.md)
---
description: Submit a pull request with full checks
agent: code
---

# Submit PR Workflow

1. Use grep to check for TODO comments or console.log statements
2. Run tests using bash with npm test
3. If tests pass, stage and commit changes with a descriptive message
4. Push the branch and create a pull request using gh pr create
  • Legacy .kilocode/workflows/ files are automatically migrated to the new command format on startup.
  • Workflows can use all built-in tools (read, glob, grep, edit, write, bash, webfetch) and MCP server tools.

Settings

Supported

kilo.jsonc is the primary config file, shared by the VS Code extension, CLI, and JetBrains. Global config at ~/.config/kilo/kilo.jsonc; project config at kilo.jsonc or .kilo/kilo.jsonc.

Verified 2026-07-12Docs

Config files

PathScopeFormatKey
~/.config/kilo/kilo.jsonc

Global config applying to all projects.

Globaljsonc
.kilo/kilo.jsonc

Preferred project config; takes priority over root kilo.jsonc.

Projectjsonc
kilo.jsonc

Project-root config alternative.

Projectjsonc

Fields

FieldTypeDescription
permissionrecord<string, "allow" | ...>Auto-approval rules for tools, including MCP tools via namespaced {server}_{tool} keys and wildcards.
instructionsstring[]Paths, globs, or URLs of additional instruction files (see rules surface).
mcprecord<string, McpServer>MCP server definitions (see mcp surface).
skills{ paths?: string[], urls?: string[] }Extra skill directories and remote skill URLs (see skills surface).
hide_prompt_training_modelsbooleanHide Kilo Gateway models whose providers may use prompts for training (default false).
auto_collapse_reasoningbooleanCollapse reasoning blocks in the chat UI after the agent finishes writing them.
terminal_command_displaystringWhether terminal command blocks start expanded or collapsed.
experimentalobjectAdvanced options not exposed in the UI (e.g. codebase_search, batch_tool, openTelemetry, mcp_timeout, speech_to_text_model).

Examples

kilo.jsonc
{
  "permission": {
    "my_server_*": "allow"
  },
  "instructions": [".kilo/rules/*.md"],
  "auto_collapse_reasoning": true,
  "experimental": {
    "codebase_search": true,
    "mcp_timeout": 30000
  }
}
  • The Settings webview UI (gear icon) reads and writes the same JSONC files; the .kilo/kilo.jsonc version takes priority over root kilo.jsonc if both exist.
  • Settings can be exported/imported as kilo-settings.json from the About tab; files are plain text and portable between machines.
  • The agent has a built-in skill that understands the full kilo.jsonc schema and can edit config on request.
  • An auto-generated $schema in kilo.jsonc documents the full list of available options.
  • Avoid committing API keys (e.g. provider.*.options.apiKey); use environment variables for credentials.