Skip to content
Early access Kaleidoscope needs a key to run. Email contact@kleosresearch.xyz and we will send you one.

OpenCode

Install and activate first — Getting started covers both. Without a key the wiring below succeeds and the server refuses with E_NO_KEY the moment your editor starts it.

kscope init wires OpenCode when ~/.config/opencode or ~/.opencode exists.

Terminal window
cd ~/your-project
kscope init

Restart OpenCode, then ask it to search your memory.

WhatWhere
MCP entryopencode.json in the project
InstructionsAGENTS.md, between marker comments
Skill.agents/skills/use-kaleidoscope/SKILL.md
Receiptopencode.json.kaleidoscope-owner.json, and a .kaleidoscope-instruction-owner.json beside each instruction file and skill
Backupopencode.json.kaleidoscope-backup, when the file was already there

Skills go to .agents/skills/ here, the same path Codex reads; Claude Code reads .claude/skills/.

OpenCode has two configuration shapes. init reads the project’s opencode.json and follows it. When that file has no mcp of its own, init follows the shape of your ~/.config/opencode/opencode.json.

The opencode.json it followsEntry goes toFields
no mcp.servers objectmcp.kaleidoscopetype, enabled, command
has an mcp.servers objectmcp.servers.kaleidoscopetype, command, codemode: false

Both carry "type": "local" and a command array of the engine’s absolute path followed by mcp, --profile, your-project. "codemode": false keeps search and remember visible to the model as tools.

{
"mcp": {
"kaleidoscope": {
"type": "local",
"enabled": true,
"command": ["/absolute/path/to/kscope", "mcp", "--profile", "your-project"]
}
}
}

If both shapes are present, or your file conflicts with the shape Kaleidoscope already owns, that step fails and the file is not changed. There is no flag to override it.

your-project is the profile init creates for the project, named after its folder. With an npm install, the engine path is ~/.kaleidoscope/bin/kscope, a copy of kscope that updates itself when you update kscope.

A project set up by an earlier version keeps its entry in ~/.config/opencode/opencode.json and the default profile. kscope init says so, and names the command that gives the project its own vault.

The project’s opencode.json names this machine’s kscope, so init adds it to the project’s .gitignore, with its receipt and backup.

Terminal window
kscope profile list
kscope profile launch your-project

launch prints the arguments and the tool list — search and remember — that the entry in opencode.json should match. Its command is the kscope you ran, which is not the copy the entry names after an npm install.

Delete each of these, and the receipt beside it:

  • the kaleidoscope entry in the project’s opencode.json
  • the marked block in AGENTS.md
  • .agents/skills/use-kaleidoscope/

Your memory stays. Connect an editor or agent covers every editor at once.