Skip to content

Connect Claude Code

Claude Code connects to a Cahut over MCP. The Cahut plugin does it in two commands, and adds the skill that teaches Claude to make Windows in your house style; this page connects it by hand. It signs in with OAuth, like the other AI clients: you give it the address of the Cahut, and you choose in the console the Rooms it reaches and whether it may publish. A personal token in a header works too, for a machine without a browser.

Your account comes from the first start of the Cahut, which also gives the steps below, from an administrator, or from the command line on the server, as the cahut user. With a single Cahut on the server, --domain may be left out.

An AI acts for a person of the Cahut. Without the first start, create yours, if it does not exist yet:

Terminal window
sudo -u cahut /usr/local/bin/cahut user create --domain cahut.example.com --handle you --name "Your Name" --admin
Created you (Your Name), admin of cahut.example.com, with a personal Room at cahut.example.com/you.
Send you this link, where they choose their password. It works once, until 2026-10-29, and is shown only now.
https://cahut.example.com/console/activate#...

Open the link: you choose your password, and you are signed in to the console. cahut user link gives you a new one if it expires.

Your handle also names your personal Room, where your AI publishes by default. It takes 2 to 32 lowercase letters, digits and hyphens, starts with a letter and ends with a letter or a digit. mcp, api, admin, console, help and oauth are reserved.

On the machine where Claude Code runs:

Terminal window
claude mcp add --transport http cahut https://cahut.example.com/mcp

Add --scope user to reach the Cahut from all your projects. Then sign in, from Claude Code with /mcp, choosing the server and Authenticate, or from the shell:

Terminal window
claude mcp login cahut

Your browser opens the console of the Cahut. Sign in, choose what Claude Code may do and in which Rooms, and choose Connect: see Consent. Back in Claude Code, /mcp shows the server and its tools, such as publish_window, get_window and list_windows. The MCP tools lists them all: the AI of an administrator sees a few more, and an AI that may only read sees fewer.

On a machine without a browser, such as a server over SSH, claude mcp login --no-browser cahut prints the address to open elsewhere.

Ask Claude Code, for example:

Make a one-page summary of this project as a document, and publish it on Cahut.

It calls publish_window and answers with the address of the Window, such as https://cahut.example.com/you/project-summary/. Open it in your browser, and share the link.

The call is in the Logbook of the Cahut:

Terminal window
sudo -u cahut /usr/local/bin/cahut logbook --domain cahut.example.com
TIME OPERATION WHO VIA TARGET OUTCOME
2026-10-21 14:02 publish_window Claude Code (claude-code 2.1.307) for you mcp you/project-summary ok

Publish a Window says what the AI sends and the rules its files follow.

Without OAuth, Claude Code sends a personal token in a header. Create one in the console, under AIs and access: it shows once, with this command ready to copy. Or create it on the server:

Terminal window
sudo -u cahut /usr/local/bin/cahut token create --domain cahut.example.com --user you --name "Claude Code on my laptop"

Then:

Terminal window
claude mcp add --transport http cahut https://cahut.example.com/mcp --header "Authorization: Bearer <token>"

A token has all your rights, in every Room. Avoid --scope project with it: it writes the token into the project’s .mcp.json, which may end up in a repository. See Personal tokens.