Step-by-step setup for the Claude Desktop Code tab with KaKeKiKoKu via MCP
This guide covers integrating KaKeKiKoKu with the Claude Desktop Code tab.
The Code tab is Claude Code Desktop: the same underlying engine as Claude Code CLI, wrapped in a graphical interface with sessions, panes, model picker, permission mode, file views, and an integrated terminal.
That shared engine matters. The Code tab uses Claude Code configuration and project memory: MCP servers in ~/.claude.json or .mcp.json, plus project instructions such as CLAUDE.md and .claude/rules/*.md. Current Desktop builds also load local servers from claude_desktop_config.json into Code sessions.
This guide covers Windows and Linux. Claude Desktop for Linux is now available in beta for Ubuntu and Debian on x64 and arm64. The KaKeKiKoKu integration on Linux Desktop is documented from the shared Claude Code configuration model but remains not tested until a versioned validation is recorded. KaKeKiKoKu does not yet ship a macOS build.
The main KaKeKiKoKu difference from Claude Code CLI is channels. The Code tab does not expose the CLI flag KaKeKiKoKu uses for channels, so KaKeKiKoKu works here in Precise mode: Claude can use the KaKeKiKoKu MCP tools, while KaKeKiKoKu UI actions that would push messages to Claude copy text to the clipboard for you to paste.
Scope. Claude Desktop now has Chat, Cowork, and Code tabs. This guide covers Code, because its project folder, startup instructions, and local development workflow match KaKeKiKoKu. A server added through
claude_desktop_config.jsoncan also appear in Desktop Chat, but Chat and Cowork workflows remain outside this setup.
Before you start the KaKeKiKoKu integration flow, you need:
claude command is recommended because this guide uses it to manage the shared MCP configuration. If it is missing, follow the Claude Code installation section..deb path linked from the download page.claude command with Anthropic's Linux installer if it is not already present; the Code tab and CLI share MCP configuration.The recommended path is the shared Claude Code MCP configuration. If you already registered KaKeKiKoKu for Claude Code CLI under the same OS user, this step is probably done and Desktop should inherit it.
claude mcp list
wuniq, continue to step 2.claude mcp add --transport stdio --scope user wuniq -- wuniq-mcp.exe
Important. Keep the command as the alias
wuniq-mcp.exe. Never substitute an absolute path underC:\Program Files\WindowsApps\...; Windows ACLs can cause Permission denied errors.
claude mcp add --transport stdio --scope user wuniq -- /snap/bin/wuniq.wuniq-mcp
↑ Back to topAlternative Desktop configuration. Current Claude Desktop builds also load servers from
claude_desktop_config.jsoninto Code sessions. That path is useful when you want the same local server in both Desktop Chat and Code, but the shared Claude Code registration above remains the clearest path for Code plus CLI.
This is the second of the two pieces every integration needs. Because the Code tab uses Claude Code project memory, use the same startup-rule file as Claude Code CLI.
.claude/rules/
The path is relative to the working directory, not to your home folder.
wuniq.md with this content:
# KaKeKiKoKu Studio (Knowledge Engine)
At the start of every session, run `open list` using the KaKeKiKoKu MCP tool. If it returns projects, `open` each one. If the list is empty, proceed normally — the user may open projects later from the KaKeKiKoKu UI. Never assume the working directory is a KaKeKiKoKu project; the working directory may be a container folder holding multiple projects. Only open paths that `open list` explicitly returns.
Before working on any code file, `read` its KaKeKiKoKu sidecar for context. After changing code, run `sync`.
.claude/rules/*.md.Why don't we put this inside
CLAUDE.md?Your
CLAUDE.md(if you have one) is yours. KaKeKiKoKu prefers not to touch it so it doesn't overwrite content you wrote..claude/rules/wuniq.mdis an independent file KaKeKiKoKu controls and you can delete freely without losing anything of your own.
↑ Back to topWhat if I skip this step?
KaKeKiKoKu still works, but Claude will not open your projects automatically. You'll have to ask it to run
open listthe first time in every session.
Claude Desktop loads local MCP and project configuration when the app or session starts. A full restart removes ambiguity after changing the server list.
↑ Back to topAfter changing MCP or memory settings, start a new Code session. Existing sessions in the sidebar can keep the old tool set. Use a fresh Local session for the first verification after setup.
Claude Desktop remembers sessions in the sidebar. Local sessions run on your machine and can use KaKeKiKoKu's local MCP server.
Run open list with the KaKeKiKoKu tool.
If everything is wired up correctly, Claude will list the available KaKeKiKoKu projects. If you created step 2, Claude may do this automatically at the beginning of the session.
KaKeKiKoKu runs as a local web app, and the Code tab has a built-in browser pane. Put one inside the other and KaKeKiKoKu sits right next to the conversation: one window, one screen, no switching back and forth.
That is more than convenience. The KaKeKiKoKu UI blinks while your AI works — green when it reads knowledge, red when it writes — and the connection indicator shows when Claude is attached. In a separate window you never catch it, because you are looking at the chat. Side by side, you watch your knowledge layer being used as it happens.
This step is optional. KaKeKiKoKu works exactly the same without it.
KaKeKiKoKu must already be running. The pane attaches to the KaKeKiKoKu that is up; it never starts one. With KaKeKiKoKu closed you just get an empty pane.
Open a Code session in your working directory and paste this:
Set up KaKeKiKoKu in your browser pane, in my working directory.
1. Find the port. Try http://localhost:5050 first, which is the KaKeKiKoKu
default. If nothing answers there, read the "KnowledgeEnginePort"
value from %LOCALAPPDATA%\Wuniq\app-settings.json on Windows. If you
still cannot determine it, ask me: the port is visible in the address
bar of the KaKeKiKoKu window.
2. Confirm something is actually listening on that port. If nothing is,
stop here and tell me to start KaKeKiKoKu first. Do not continue.
3. Create or update .claude/launch.json in my working directory. Add
this entry, keeping any entries already there:
{
"version": "0.0.1",
"configurations": [
{ "name": "wuniq", "url": "http://localhost:PORT", "port": PORT }
]
}
Replace PORT with the port you found. Do not add "runtimeExecutable"
or "runtimeArgs". KaKeKiKoKu is already running, so this entry must only
attach to it. A start command would launch a second Knowledge Engine,
which exits without binding a port and leaves a blank pane.
4. Create .claude/rules/wuniq.md if it does not exist, and add these
lines to it, keeping any content already there:
At the start of every session, call preview_start with name "wuniq"
to open the KaKeKiKoKu UI in the browser pane. If the call fails or the
pane shows a connection error, KaKeKiKoKu is not running: tell me in one
line and carry on. Do not try to start KaKeKiKoKu yourself.
5. Call preview_start with name "wuniq" now and confirm the UI loaded.
6. Tell me exactly which files you created or changed.
Claude writes two files: .claude/launch.json, which tells the pane where KaKeKiKoKu is, and one line in .claude/rules/wuniq.md — the same file from step 2 — so the pane opens by itself in later sessions. Delete either one and you are back where you started.
Why the port is not hard-coded. 5050 is the default, but you can change it in KaKeKiKoKu, and the prompt reads your actual preference before writing anything. If you ever move KaKeKiKoKu to another port, run the prompt again.
↑ Back to topThis needs a browser pane. The Code tab in Claude Desktop has one. A plain terminal session does not, so there is nothing to draw KaKeKiKoKu into there — the rest of the integration works the same, you just keep KaKeKiKoKu in its own window.
Claude Code Desktop uses the same subscription, current model catalog, and core configuration as Claude Code CLI, but you choose interactive options from the interface instead of passing launch flags.
Use the model dropdown next to the send button. Current Claude Code releases may offer aliases such as Default, Best/Fable, Opus, Sonnet, and 1M variants depending on plan and policy. Prefer the live picker over hard-coding a version number. KaKeKiKoKu works through your Claude subscription; it does not use the Anthropic API directly.
Use the permission/mode selector next to the send button for Plan, Auto, or approval-style workflows. Desktop also has a setting for Bypass permissions mode under Claude Code settings, but KaKeKiKoKu does not require it.
Desktop has equivalents for common interactive flags like model selection and resume, but not for every CLI flag. In particular, KaKeKiKoKu's channels launch flag is a Claude Code CLI launch flag, not a Desktop Code-tab control. That is why this guide keeps Desktop in Precise mode.
↑ Back to topIn Precise mode, KaKeKiKoKu cannot push messages to the AI. This changes the daily flow:
open list.sync (or natural-language equivalent) in the AI chat. The AI does NOT trigger it on its own.↑ Back to topRecommended KaKeKiKoKu configuration. Go to KaKeKiKoKu > Settings > Application > AI Sync and choose Precise mode. That replaces automatic push with clipboard copy for all affected functions.
claude is not recognized when you run the commands in step 1The Claude Code installer does not always add .local\bin to the user PATH,
so the terminal cannot find claude. This blocks the very first command of this
guide, before KaKeKiKoKu is involved at all.
claude --version
[Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path","User") + ";$env:USERPROFILE\.local\bin", "User")
C:\Users\<your-user>\.local\bin\claude.exe.Reopening the terminal is mandatory either way: the new PATH only applies to processes launched after the change. The Claude Code guide covers the full installation, including the npm alternative.
claude mcp list in a terminal and confirm it contains wuniq.Typing /mcp may show Claude's official connector or marketplace UI rather than every local MCP server available to the Code session. The most direct verification is to ask Claude to run open list with the wuniq tool.
claude_desktop_config.json is empty, but KaKeKiKoKu still startsThat is valid. The Code tab reads Claude Code servers from ~/.claude.json and project .mcp.json, so the shared registration can work with an empty Desktop-specific file. Current Desktop builds can additionally load claude_desktop_config.json into Code sessions; it is an alternative source, not a requirement.
claude mcp list shows KaKeKiKoKu, but the Code tab still does not expose itFirst complete the restart and new-session steps above. If the issue persists in a fresh Local session, add the same server entry to Claude Desktop's own config file, then quit Desktop fully and open a new Local Code session again.
Open Claude Desktop's local MCP configuration from its settings UI so the app chooses the correct file for your operating system. On Windows the usual path is:
%APPDATA%\Claude\claude_desktop_config.json
Merge this server entry into the file without deleting any existing settings:
{
"mcpServers": {
"wuniq": {
"type": "stdio",
"command": "wuniq-mcp.exe",
"args": [],
"env": {}
}
}
}
{
"mcpServers": {
"wuniq": {
"type": "stdio",
"command": "/snap/bin/wuniq.wuniq-mcp",
"args": [],
"env": {}
}
}
}
KaKeKiKoKu is not running, or it is still starting up. The pane attaches to a live Knowledge Engine; it never starts one. Launch KaKeKiKoKu from the Start menu (Windows) or the applications menu (Linux), give it a few seconds, and ask Claude to open the pane again. A freshly installed KaKeKiKoKu can take slightly longer on its first start.
Claude will not start KaKeKiKoKu for you, and that is deliberate. KaKeKiKoKu does not launch your AI client either — each side starts its own process. On Windows the installed executable also lives under C:\Program Files\WindowsApps\, where restrictive ACLs turn external launch attempts into confusing permission errors. And starting KaKeKiKoKu yourself keeps it alive independently of any AI client, which is the same reason the Quick Start recommends starting KaKeKiKoKu before your AI.
.claude/rules/wuniq.md inside the folder you selected for the Code-tab session./memory and check whether the KaKeKiKoKu rule is listed among loaded memory files.On Windows, install Git for Windows, then quit and reopen Claude Desktop. On Linux, install Git with your distribution's package manager. The Code tab uses Git for project sessions and worktree isolation.
Claude Desktop inherits Windows user and system environment variables, but it does not read your PowerShell profile. If a tool works in PowerShell but not in the Code tab, restart Claude Desktop after changing PATH, or use the Code tab's local environment editor for session-specific variables.
If Claude Code config points to an absolute path inside C:\Program Files\WindowsApps\..., Windows refuses execution due to restrictive ACLs. Remove the old registration and repeat step 1 with the alias:
claude mcp remove wuniq
claude mcp add --transport stdio --scope user wuniq -- wuniq-mcp.exe
/home/ on LinuxThe KaKeKiKoKu Snap needs explicit access to projects under /mnt/, /media/, USB drives, or VM shared folders:
sudo snap connect wuniq:removable-media
Then reload KaKeKiKoKu and reopen the project.
Email support@kakekikoku.com with your operating system, Claude Desktop version, the output of claude --version, the output of claude mcp list, and whether your session is Local, Remote, or SSH. KaKeKiKoKu can also generate a diagnostic report (Support function in the app) that captures the infrastructure state — attach it to the email.