---
title: "Claude Code plugin: zones, one task, access that expires"
description: "Install CommitCycle in Claude Code: its skills, an MCP server and the hook that blocks a write. The paths you name get an owner; access lasts one task."
url: https://commitcycle.com/claude-code/
language: en
---

# CommitCycle for Claude Code

> Install CommitCycle in Claude Code: its skills, an MCP server and the hook that blocks a write. The paths you name get an owner; access lasts one task.

CommitCycle for Claude Code Shipped

The plugin installs the part that says no. Areas of your codebase that are dangerous to change get an owner, work declares which of them it needs, and access is granted for one task on one branch — then taken back when the work is handed in.

The hook refuses the write before it lands, names the zone and its owner, and the agent asks for access instead of looking for another way in. Claude Code is where this block has been seen working.

## Install

```
/plugin marketplace add pow-paulinho/commitcycle-plugin
/plugin install commitcycle@commitcycle
```

It brings its own binaries. There is no `npm install` and nothing is put on your `PATH`; the `cycle` command the skills ask you to run is a separate `npm i -g commitcycle`. Outside the project it writes only `~/.commitcycle/`, for sign-in, pairing and the update check — and, when the hook's core cannot answer under the default `open` failure policy, one empty marker per session in the temp directory.

## What release 0.1.25 installs

| Component                | What it does                                                                                                                                                                                            |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `set-up-commitcycle`     | Sets a repository up by asking about it — which areas are dangerous, who approves each, which board it reports to                                                                                       |
| `start-work-inside-cc`   | Files and scopes the task before the work, so the rule arrives as an arrangement rather than as a refusal                                                                                               |
| `commitcycle` MCP server | Six tools in release 0.1.25 (2026-10-12): the zone map, one-line intake, the interview, scoping, board status, and which tasks changed a file. Intake and scoping write to the board; none moves a task |
| The hook                 | The part that actually blocks a write, on `PreToolUse` and `PostToolUse`                                                                                                                                |
| The `Stop` hook          | On a task branch in a repository with a board, posts the agent's last reply to the task on the board and keeps a copy in `.zones/state/replies/`                                                        |

## Why installing it cannot break your other repositories

Plugin hooks load **user-wide** — they run in every repository you open, not only the one you set up. That is exactly why the hook was held back until it could tell _"this repository never installed CommitCycle"_ from _"this task has not been started yet"_. It could not, and answered deny to both, so a single install would have blocked every write in every unrelated project on the machine.

It can now. A repository with no `.zones/zones.yml` is left alone silently: allowed, nothing recorded, no advice — you should not be able to tell the hook ran. And an **empty** map is not the same thing as an absent one: that is a project that ran the setup and protected nothing, so a task is still required there.

## The six tools, and the line they do not cross

`cc_zones`, `cc_intake`, `cc_interview`, `cc_scope`, `cc_status`, `cc_why`. None of them starts work, issues a grant, or approves access to anything. A seventh, `cc_search`, which finds the tasks related to a request or to files, is on the trunk since 2026-10-13 and in no release yet.

That is not an oversight to be fixed later. An approval arriving through a tool the agent calls is authenticated by a token the agent holds, so a board could not tell your yes from the agent's own. The tools describe work. Starting it is `cycle start` (or `cc_start` on the hosted connector), and the skill runs it only when you say so.

## Why a board is not optional

The zone map, the audit of what is dangerous and the records of what each task declared are files in your repository, and they stay yours. What needs a board is the loop: **the gate is the only issuer of a grant**, and it runs there. Install the hook with no board and nothing can open anything — every write is denied, including the unprotected paths. So the setup skill asks for the board rather than offering a local-only mode that ends in a repository nobody can write to.

## Where this stops

The zone model is agent-agnostic; the enforcement point needs one small adapter per harness. `cycle init` writes hook files — Claude Code's and Codex's by default, Cursor's and Windsurf's with `--harness` — only where a hook wrapper is already on disk; neither published package puts one there, so on your machine it writes none and the plugin's hook is the one that enforces — in Claude Code only, so Codex, Cursor and Windsurf get no hook there. **Only Claude Code has been seen to deny on a real install.** Where the others' files are written, they have never been exercised and are answered in Claude Code's reply format; Windsurf has no channel for a denial's reason, and Cursor's file wires `preToolUse` only.

- The hook decided in **68–83 ms at p95** against a 100 ms budget, measured on 2026-08-03 on the first hook build and an idle machine — and **p99 touched 102 ms in one case**. CC-1377 re-timed it in October 2026 on two cloud VMs: on the slower one wrapper and core reached **211–228 ms at p95** (load 0.74–1.04), and the hook's cost over a shell-launched node process was 84–111 ms there against 44–48 ms on the faster one, for the same code. Two hosts, not a survey.
- Claude Code's harness is **fail-open in all four failure modes** we measured against real sessions on 2026-08-03. That is why the plugin ships a wrapper that can close three of them when the repository's failure policy is set to closed — by default it lets the call through and tells the session — and why a CI check exists for the fourth, the one only CI can see, where the hook was never installed at all. That check runs only on CommitCycle's own repository today.

The mechanism in full is in [the docs](https://commitcycle.com/docs/) — the [install reference](https://commitcycle.com/docs/start/install/), the [zone model](https://commitcycle.com/docs/concepts/zones/), and the [MCP tools](https://commitcycle.com/docs/reference/mcp/).

## Questions this page answers

### Will installing the plugin affect my other repositories?

No. Plugin hooks load user-wide, so the hook does run in every repository you open — which is why it was held back until it could tell "this repository never installed CommitCycle" from "this task has not been started yet". A repository with no zone map is left alone silently.

### Do I need an account to use the Claude Code plugin?

Yes, to run tasks. The gate is the only issuer of a grant and it runs on the board, so with the hook installed and no board nothing can be opened and every write is denied. The zone map and the records are files you keep either way — but the loop needs a board, and the setup skill says so rather than offering a local-only answer that ends in a repository nobody can write to.
