> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hiveku.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Hiveku for Claude Code

> Install, connect, use, and update the Hiveku plugin for the Claude app and Claude Code

## What it is

The Hiveku plugin turns Claude Code (the Claude desktop app or the `claude` terminal command)
into a full operating console for your Hiveku accounts: 18 department skills (SEO, PPC, sales,
helpdesk, books, commerce, communications, and more), 9 dispatchable analyst agents, and about
70 slash commands, on top of Hiveku's complete MCP tool surface.

Its core idea is **one folder = one account**. You bind each working folder to one Hiveku
account, and every tool call in that folder goes to that account and no other. An agency
managing many clients works out of many folders, and a folder with no binding is inert — the
plugin stays out of the way in projects that have nothing to do with Hiveku.

<Info>
  This is the recommended way to use Hiveku from Claude. The generic MCP connector (see
  [LLM Connectors](/integrations/llm-connectors)) still works for claude.ai, ChatGPT, and
  Claude Desktop, but the plugin adds the skills, agents, commands, and per-folder account
  safety that the raw connector does not have.
</Info>

## Install

<Tabs>
  <Tab title="Claude desktop app">
    <Steps>
      <Step title="Open Plugins">
        Open **Settings** (the gear, or `Cmd+,` / `Ctrl+,`), then under **Customize** click
        **Plugins**.
      </Step>

      <Step title="Add the marketplace">
        Click **Add** at the top right, choose **Add from a repository**, paste this and
        confirm:

        ```
        lvahost/hiveku-claude-plugin
        ```
      </Step>

      <Step title="Install the plugin">
        Adding the repository only registers the catalog — it installs nothing by itself.
        Find the **hiveku** plugin in the list, click it, then click **Install**. If you are
        asked for a scope, pick the one covering **all projects** (user scope), so Hiveku
        follows you into every folder.
      </Step>

      <Step title="Turn on auto-update — do not skip this">
        Still in **Plugins**, open the **hiveku** marketplace entry and choose
        **Enable auto-update**. Claude Code auto-updates Anthropic's own marketplaces but
        starts third-party ones like Hiveku's switched **off** — leave it off and you keep the
        exact version you installed forever, with nothing telling you that you are behind.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Plain terminal">
    Click the **terminal icon** in the Claude app (it opens a shell in whatever folder you
    have open — the folder does not matter, the plugin installs for your whole user account),
    or open any terminal, and run:

    ```bash theme={null}
    claude plugin marketplace add lvahost/hiveku-claude-plugin
    claude plugin install hiveku@hiveku
    ```

    Then turn on auto-update: start a Claude session, run `/plugin`, go to the
    **Marketplaces** tab, select **hiveku**, and choose **Enable auto-update**.
  </Tab>

  <Tab title="Inside a Claude session">
    If you already have a Claude Code session open, the same two steps work as slash
    commands:

    ```
    /plugin marketplace add lvahost/hiveku-claude-plugin
    /plugin install hiveku@hiveku
    ```

    If the install says `Run /reload-plugins to activate`, run `/reload-plugins`.
  </Tab>
</Tabs>

<Note>
  **You will see a red warning saying the plugin can access everything on your computer.**
  Choose **Continue**. Claude Code shows that banner for every plugin that ships a local MCP
  server, including Anthropic's own, because a local server runs as a normal process with
  your permissions. The server listed as `hk` is the Hiveku one: no third-party dependencies,
  connects only to `core.hiveku.com`, and reads a single account's key based on the folder
  you are working in.
</Note>

## Connect your accounts

In any Claude session:

```
/hiveku:connect
```

Your browser opens the Hiveku consent page. Sign in, tick the accounts you want to work with,
and mark any of them **read-only** if you want a look-but-do-not-touch connection. No key is
ever pasted or typed: keys come back over a one-time local callback and are stored encrypted
on your machine.

Then create a folder for each account:

```
/hiveku:setup
```

That makes one folder per connected account under `~/Hiveku-Accounts`, each already bound.
Prefer your own folder layout? Skip `setup`, open a folder you already use, and run
`/hiveku:bind` there instead.

<Tip>
  On a machine with no browser (an SSH session, for example), create a key at app.hiveku.com
  under **Settings → LLM Connectors** and run `hiveku accounts add <key>`.
</Tip>

## Turn on tool search

<Warning>
  Do this once, before real work. Without it, sessions compact after a turn or two, replies
  take minutes, and every message costs far more than it should.
</Warning>

Hiveku's MCP surface is large on purpose — around **1,566 tools**. By default a client sends
every one of those schemas to the model on **every single message**, before you have typed
anything.

Tool search fixes it. Only tool *names* go into context up front, and Claude fetches a tool's
full schema the first time it actually needs one.

Measured on the same task, same model, with and without it:

|                 | Tool search off       | Tool search on   |
| --------------- | --------------------- | ---------------- |
| Largest request | 440,407 input tokens  | **26,110**       |
| Compaction      | yes, over two minutes | none             |
| Cache reuse     | 17K of 426K           | 51,712 of 52,679 |

That is a **94% cut** on the heaviest request. The cache figures matter as much as the headline:
cached input is billed at a fraction of fresh input, so a turn that cost dollars costs cents.

<Info>
  Running Kimi or GLM through the [Hiveku Gateway](/integrations/hiveku-gateway) instead of
  Claude models? Tool search matters even more there, and gateway access is by request —
  email **[support@hiveku.com](mailto:support@hiveku.com)**.
</Info>

<Tabs>
  <Tab title="Claude desktop app">
    <Steps>
      <Step title="Open the settings">
        Open **Settings**, then the third-party inference configuration.
      </Step>

      <Step title="Find the toggle">
        Type `tool` in the settings search box and turn on **Enable tool search**.
      </Step>

      <Step title="Apply, then start a new conversation">
        Click **Apply Changes**. The tool list is fixed when a session connects, so an
        existing conversation will not pick it up — start a new one.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Terminal">
    Set it in the environment Claude Code runs in:

    ```bash theme={null}
    ENABLE_TOOL_SEARCH=true
    ```
  </Tab>
</Tabs>

<Warning>
  **On the Hiveku Gateway, this toggle is not enough on its own.** Claude Code treats any
  host other than `api.anthropic.com` as non-first-party and turns tool search off, logging
  `[ToolSearch:optimistic] disabled: … is not a first-party Anthropic host`. Measured on a
  gateway session with the toggle **on**: 447,400 tokens of tool definitions, 224% of the
  context window, before the first message.

  Plugin **0.8.0 and later fixes this for you** — the plugin ships the full catalogue on disk
  and advertises a core set plus a `hiveku_find_tools` search tool, so a session starts at a
  few thousand tokens instead of hundreds of thousands. Every tool stays findable and
  callable. Update the plugin and start a new conversation.
</Warning>

<Note>
  **Tool search defers a tool's SCHEMA, not its description.** Names and descriptions still
  ship for every tool on every message, and Hiveku's descriptions average around 200
  characters. That is why the toggle alone does not get a 1,500-tool catalogue down to
  nothing, and why the plugin's local index exists.
</Note>

<Note>
  **No prompt or `CLAUDE.md` can fix this.** The tool schemas are placed in the request before
  the model reads a word, so instructions to "only use the tools you need" have nothing to act
  on. Advertising fewer tools is the only lever, and this is the supported way to do it.
</Note>

The trade-off is one extra round trip the first time Claude uses a given tool, in exchange for
not paying for the whole catalogue on every message. The
[Model Context Protocol docs](https://modelcontextprotocol.io/docs/2026-07-28/develop/clients/client-best-practices)
recommend switching to on-demand loading once tool definitions pass 1–5% of the context
window; Hiveku's catalogue is well beyond that.

## Daily use

Open one of your account folders in Claude (the folder picker in the desktop app, or `cd` in
a terminal) and that client's account is live — the session banner tells you which one.
From there:

* `/hiveku:brief` — get oriented on the account before doing any work
* `/hiveku:daily` — the morning operating brief: what changed, what needs attention
* `/hiveku:integrations` — audit every integration: what is connected, what is broken
* `/hiveku:code` / `/hiveku:deploy` — pull a website project local, edit, verify, ship
* Or just ask in plain language — the department skills load themselves when the work
  touches their territory, and Claude can dispatch read-only analyst agents (PPC, SEO,
  revenue, support, books, commerce, tracking) to investigate while you keep working.

Run `/hiveku:status` any time to see which account the folder is bound to.

## Update to a new version

Two commands, in this order. The usual path: click the **terminal icon** in the Claude app —
it opens a shell in whatever folder you have open, and the folder does not matter — then run:

```bash theme={null}
claude plugin marketplace update hiveku     # refresh the catalog
claude plugin update hiveku@hiveku          # install the new version
```

Two commands because they do different jobs: the first refreshes the catalog so your machine
knows a newer version exists; the second actually installs it.

Then **restart the session** (or run `/reload-plugins` inside it). Plugins load at session
start, so a session that is already open keeps the version it started with. Newer plugin
versions tell you at session start when the session you are in is running an older version
than what is installed.

<Note>
  The catalog-refresh step matters more than it looks. The desktop app refreshes marketplaces
  in the background, so right after a release the Settings → Plugins screen can still show
  the old version with no Update button. `claude plugin marketplace update hiveku` forces the
  refresh and the Update button appears.
</Note>

If you enabled auto-update at install time, none of this is needed — Claude Code picks up new
versions on its own shortly after a session starts.

Inside a running Claude session, the same two steps are slash commands:
`/plugin marketplace update hiveku` then `/plugin update hiveku@hiveku`. The slash form works
only inside a session — in a plain terminal, use the `claude plugin` form above.

## Permission modes

Auto mode asks a classifier model whether each new action is safe. That is one extra round
trip per never-before-approved tool, and on a large catalogue it adds up.

Plugin 0.8.0 and later removes most of it: Hiveku's **read-only** tools are pre-approved by
the plugin itself, so listing, fetching and reporting never wait on a permission check.
Writes, deletes and anything outward-facing still go through the normal flow.

For a working session where you are watching the output — a migration, an audit, a cleanup
like a GTM swap — **Bypass permissions** is the mode to use. Set it per chat from the mode
selector next to the message box, or press <kbd>5</kbd> in that menu.

<Warning>
  Bypass permissions accepts **everything**, including writes, deletes and sends. Use it while
  you are actually reading what Claude is doing, on one focused task. It is the wrong default
  for a team of people working across many accounts — drop back to **Auto** when the task is
  done.
</Warning>

If the mode is greyed out, an administrator has to enable **Allow bypass permissions mode** in
the app's settings first.

## Multi-agent workflows

Large jobs — auditing every tag in a container, sweeping an account, comparing a mirror
against a live site — go much faster when Claude fans the work out across several agents at
once instead of doing it in sequence.

Turn it on with **Dynamic workflow size** in `/config`. You can also trigger it per-message by
including the word `ultracode`, if the keyword trigger is enabled.

<Note>
  Workflows spawn many agents and spend proportionally more. That is usually the right trade
  for an audit you would otherwise do by hand, and the wrong one for a quick question. The
  first time you run one, the app asks you to accept a usage warning.
</Note>

## Seeing what a session costs

The Usage page shows token counts by default. Turning on **Show estimated cost** prices them
at Anthropic list price.

<Warning>
  **On the Hiveku Gateway that estimate is blank until you configure rates.** The gateway
  reports the real upstream model — `kimi-k3`, `z-ai/glm-5.3`, `z-ai/glm-5.3-flash` — and
  Claude Code cannot map those to a Claude model, so they are left out of the estimate
  entirely rather than guessed at.
</Warning>

Give it the real rates with `inferenceModelPricing`. All four fields are required, in USD per
million tokens:

```json theme={null}
{
  "inferenceModelPricingEnabled": true,
  "inferenceModelPricing": {
    "kimi-k3":             { "inputPerMtok": 3.00, "outputPerMtok": 15.00, "cacheReadPerMtok": 0.30,  "cacheWritePerMtok": 3.00 },
    "z-ai/glm-5.3":        { "inputPerMtok": 1.40, "outputPerMtok": 4.40,  "cacheReadPerMtok": 0.14,  "cacheWritePerMtok": 1.40 },
    "z-ai/glm-5.3-flash":  { "inputPerMtok": 0.15, "outputPerMtok": 0.50,  "cacheReadPerMtok": 0.015, "cacheWritePerMtok": 0.15 }
  }
}
```

A gateway alias matches that exact ID only, so the spellings above must be used verbatim.
`cacheWritePerMtok` covers both 5-minute and 1-hour cache writes.

<Note>
  Those are list prices at the time of writing and providers change them — treat the estimate
  as a guide, not a bill. GLM-5.3-Flash is priced here at its post-promotion rate so the
  estimate errs high rather than low.
</Note>

The spread is worth knowing before you pick a default model: the same heavy session costs
roughly **$11 on Kimi K3, $5 on GLM-5.3 and \$0.56 on GLM-5.3-Flash**. The gateway enforces its
own per-key and fleet-wide daily ceilings in dollars regardless of this setting.

## Troubleshooting

**"I do not see the plugin after adding the repository."**
Adding a marketplace only registers the catalog. Open the **hiveku** entry and click
**Install**.

**"Tools are missing in a folder."**
That folder is not bound to an account. Run `/hiveku:bind` there, or `/hiveku:status` to see
what Claude thinks is going on.

**"I get 401 errors from Hiveku tools."**
The key for that account was revoked or rotated. Run `/hiveku:connect` again to re-mint it.

**"The commands do not show up."**
Run `/reload-plugins`. If they still do not appear, clear the plugin cache and reinstall:
`rm -rf ~/.claude/plugins/cache`, restart Claude Code, install again.

**"A new version seems not to exist."**
Run `claude plugin marketplace update hiveku` in a terminal — the catalog on your machine is
stale. See the update section above.

**"Sessions compact every turn or two, and replies take minutes."**
Tool search is off. Every message is carrying the whole tool catalogue — around 370,000
tokens before you type anything. Turn on **Enable tool search** (see
[Turn on tool search](#turn-on-tool-search)) and start a new conversation. This is by far the
most common cause of a slow, expensive-feeling session.

**"Claude says a tool exists but cannot call it."**
With tool search on, Claude loads a schema the first time it needs one, so an unfamiliar tool
costs one extra round trip. If a call genuinely fails, check the folder is bound
(`/hiveku:status`) — an unbound folder has no tools at all.

**"Failed to authenticate. API Error: Blocked" — and signing in again does not help.**
This is not an authentication problem. `Blocked` is a value in the desktop app's **Built-in
tool policy** (`allow` / `ask` / `ask once per session` / `blocked`), and the client reports
any local refusal as an authentication failure. The tell is timing: the error appears in
milliseconds with no tokens used, because no request was ever sent. Check
**Settings → Built-in tool policy** for an entry set to *Blocked*, including any policy
arriving from org-managed settings. If nothing is set, start a new conversation.

**"A shell command cannot reach Hiveku, or a script gets `deny network-outbound`."**
Sandboxed sessions ship with a fixed allowlist — npm, PyPI, GitHub, Ubuntu, crates,
Playwright and Anthropic's own hosts — and **no Hiveku entry**. MCP tools still work, because
that endpoint is permitted separately, but anything shell-level (a script calling the API,
or `curl`) is denied. Add `*.hiveku.com` to the egress host settings. Entries are
`host` or `*.host`, with no scheme and no path.

**"Everything says Rate limited and retrying, over and over."**
On the Hiveku Gateway, a provider account with no balance left answers with the same status
code as a rate limit, so the client retries a billing problem ten times. Gateway builds from
2026-08-28 return a clear billing error instead. If you see it, switch models in the picker
and email **[support@hiveku.com](mailto:support@hiveku.com)**.

**"Can I have Claude call every tool to check they all work?"**
No — and it will break the session if you try. Around 1,500 tools means a permission decision
and a transcript entry each, and the transcript is re-sent on every later message, so the run
fills the context and dies partway through with "Prompt is too long". Use the sweep script
instead, which does the whole thing in one process and writes a report:

```bash theme={null}
node ~/.claude/plugins/marketplaces/hiveku/scripts/sweep-tools.mjs
```

It only calls tools the server declares read-only, so it cannot create, update, delete or
send anything.

**"I also run the Hiveku VS Code extension."**
That is fine; both can be live at once. The session-start banner names which account each
connection serves so you never act on the wrong tenant.

## Remove it

```
/plugin uninstall hiveku@hiveku
```

To also revoke the account keys server-side (recommended if you are handing the machine on),
run `hiveku accounts remove <account-id>` first — it revokes the key with Hiveku and only
then forgets it locally, so a failed revoke never leaves a live key you can no longer see.
