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

Codex

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 Codex when ~/.codex exists.

Terminal window
cd ~/your-project
kscope init

Restart Codex, then ask it to search your memory.

WhatWhere
MCP entry.codex/config.toml in the project, inside a kaleidoscope-manager marker block
InstructionsAGENTS.md, between marker comments
Skill.agents/skills/use-kaleidoscope/SKILL.md
Receipt.codex/config.toml.kaleidoscope-owner.json, and a .kaleidoscope-instruction-owner.json beside each instruction file and skill
Backup.codex/config.toml.kaleidoscope-backup, when the file was already there
# >>> kaleidoscope-manager owner=kaleidoscope-manager-v1 host=codex
[mcp_servers.kaleidoscope]
command = "/absolute/path/to/kscope"
args = ["mcp", "--profile", "your-project"]
enabled = true
required = false
startup_timeout_sec = 10
tool_timeout_sec = 30
enabled_tools = ["search", "remember"]
default_tools_approval_mode = "writes"
[mcp_servers.kaleidoscope.tools.search]
approval_mode = "approve"
# <<< kaleidoscope-manager owner=kaleidoscope-manager-v1

enabled_tools names the two tools in Codex’s own configuration. Skills go to .agents/skills/ here, the same path OpenCode reads; Claude Code reads .claude/skills/.

your-project is the profile init creates for the project, named after its folder. With an npm install, the command 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 ~/.codex/config.toml and the default profile. kscope init says so, and names the command that gives the project its own vault.

.codex/config.toml names this machine’s kscope, so init adds it to the project’s .gitignore, with its receipt and backup.

If .codex/config.toml already holds an [mcp_servers.kaleidoscope] table outside a marker block, that step fails and the file is not changed. Delete the table by hand and run kscope init again.

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 .codex/config.toml 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 marker block in .codex/config.toml
  • the marked block in AGENTS.md
  • .agents/skills/use-kaleidoscope/

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