> For the complete documentation index, see [llms.txt](https://cerebral-systems.gitbook.io/cerebral-systems-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cerebral-systems.gitbook.io/cerebral-systems-docs/getting-started.md).

# Getting Started

## Getting started

This is the normal-user path for Warrant v0.3.0 on macOS. It is local-only: there is no signup, hosted URL, or Warrant API key.

### 1. Check prerequisites

Use Apple Silicon or Intel macOS. Install and authenticate your agent separately; Warrant discovers and measures an existing launcher but does not download or replace it.

Claude Code is the recommended first integration:

```sh
command -v claude
claude --version
```

The v0.3.0 Claude profile accepts `2.1.20` through versions below `2.2.0`. Setup still pins the exact detected version, launcher, interpreter when applicable, and SHA-256.

### 2. Install Warrant

```sh
brew install cerebral-systems/tap/warrant
warrant --version
warrant policies list
```

The first `warrant` invocation verifies the checksum-pinned release and installs an owner-private runtime under `~/.local/share/warrant/homebrew/bin`. Expected version:

```
warrant 0.3.0
```

### 3. Choose the workspace

Setup protects the exact current directory. Warrant does not search upward for a Git root, and a setup in one checkout does not silently cover another.

```sh
cd /absolute/path/to/workspace
pwd
warrant policies show read-only
```

Start with `read-only`. It allows supported reads throughout this workspace and denies all writes.

### 4. Install the agent boundary

```sh
warrant setup claude --policy read-only
```

Setup displays the discovered source launcher, interpreter, version, and SHA-256 before asking for confirmation. It creates or verifies local owner authority used for policy changes and approvals. That authority stays on this machine; it is not a Warrant account password.

Read the output before accepting it. The path must be the agent you intended to run.

### 5. Activate the managed shim

Setup safely prepends Warrant's shim directory through supported zsh or bash startup files when it can. Follow its exact `Next:` line. Usually this means opening a new terminal. If setup cannot safely edit a startup file, it prints the PATH command to run yourself.

Return to the same workspace and verify resolution:

```sh
cd /absolute/path/to/workspace
command -v claude
```

Expected path:

```
~/.local/share/warrant/shims/claude
```

If it still resolves to the original agent, follow PATH and shim troubleshooting.

### 6. Check launch readiness

```sh
warrant status claude
warrant status claude --json
warrant doctor claude
```

`status` is a compact view. `doctor` rechecks the workspace, policy, profile, configuration, managed shim, agent bytes, launcher, interpreter, and model-readiness evidence. Do not launch through a failed doctor.

Launch the agent normally:

```sh
claude
```

The managed agent receives Warrant's typed list, read, search, request-action, and action-status tools. Under `read-only`, reads in policy scope can succeed and writes deny.

### 7. Try an approval-gated write

Inspect and activate `owner-approved` from the same workspace:

```sh
warrant policies show owner-approved
warrant policy use owner-approved
warrant doctor claude
```

Ask the managed agent to write a small file. Warrant holds the exact proposed write instead of executing it. Review the pending action and decide it locally:

```sh
warrant approvals
warrant approve <ACTION_ID>
# Or reject it:
warrant reject <ACTION_ID>
```

Approval binds the reviewed operation, path, artifact bytes, and expected preimage. If the target changes before actuation, execution denies instead of applying stale approval. Automation-file writes may require an extra exact action-ID confirmation; follow the CLI's printed instruction.

To lock the workspace back down without removing Warrant:

```sh
warrant policy disable
warrant doctor claude
```

`policy disable` means fail-closed read-only lockdown. It does not disable or bypass the boundary.

### Upgrade

```sh
brew update
brew upgrade cerebral-systems/tap/warrant
warrant --version

cd /absolute/path/to/workspace
warrant setup claude --policy read-only
warrant doctor claude
```

Repeat setup for every managed agent/workspace pair, selecting the intended policy for each one. Runtime or profile changes invalidate old evidence by design.

### Uninstall

Remove each workspace integration before removing the package:

```sh
cd /absolute/path/to/workspace
warrant uninstall claude

brew uninstall cerebral-systems/tap/warrant
```

`warrant uninstall claude` removes Warrant's integration, not Claude Code. The current Homebrew uninstall preserves the owner-private runtime and managed PATH marker for safe upgrade and recovery; a complete one-command purge is not implemented in v0.3.0.

Continue with Supported agents, Policies, and the Security model.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cerebral-systems.gitbook.io/cerebral-systems-docs/getting-started.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
