# Claude Code

> Give Claude Code persistent context and full access to your Poly files.

Poly turns Claude Code into an agent that already knows your context and can work directly with your files. The official plugin loads your Poly memory when each session starts, teaches Claude how to use Poly, and connects the Poly MCP server.

Your files stay in a cloud-hosted, versioned file system with intelligent search. Claude can find a document by meaning, read it, organize it, and follow its history without making you paste context into every conversation.

## Start every session with context

When Claude Code starts, the plugin runs `poly memory summary` against the local Poly app. Your profile and recent memories are added to Claude's context automatically, before your first prompt.

This is useful even when your request is not explicitly about a file:

```text
> Pick up where we left off on the launch plan.

> Draft today's priorities from my current projects.

> What did I decide about the API migration?
```

Claude can search Poly for deeper context whenever the startup summary is not enough.

## Install Poly for Claude Code

The session-start memory hook requires the Poly desktop app to be installed, open, and signed in. On macOS:

1. [Install and open Poly](/getting-started/installation).
2. Open **Downloads** in the Poly menu bar app and select **Install CLI**.
3. Add the plugin marketplace and install Poly:

```bash
claude plugin marketplace add withpoly/polycc
claude plugin install poly@poly
```

Start a new Claude Code session. You will see **Poly · memory context loaded** when the startup hook succeeds.

The hook is a small Bash script and does not require Node.js, Python, or `jq`.

## What the plugin includes

- **Session-start memory** — injects your Poly profile and recent memory into every new, resumed, cleared, or compacted session.
- **The poly-cli skill** — teaches Claude to search, read, create, update, move, share, and recover files with the local [`poly` CLI](/cli).
- **Poly MCP** — connects `https://mcp.poly.app/mcp` for hosted search and file tools, with OAuth on first use.

Claude prefers the local CLI when it is available. It talks to Poly's local cache, works offline, can access file bytes, and supports version history and rollback. The hosted MCP connection is useful for supported file operations but has a smaller feature set.

## Work with your files naturally

```text
> find the API design doc I was editing last week and summarize the open questions

> take every screenshot in //Home/inbox, tag it blue:triage, and move it to //Home/screenshots

> what changed in //Home/legal/lease.pdf since yesterday? restore it if the edits look accidental
```

Poly combines semantic and full-text search, so Claude does not need an exact filename. Personal drives and shared drives use the same workflow, and stable Poly links let Claude follow a memory back to its source.

## If Poly is not running

Claude Code will still start. The plugin displays **Poly · memory unavailable** and tells Claude not to mistake the missing summary for an empty memory.

Open the Poly desktop app, confirm that you are signed in, then run `/clear` in Claude Code to run the session-start hook again. If the message says the CLI is missing, install it from **Poly → Downloads** first.

You can check the connection yourself with:

```bash
poly app status
poly memory summary
```

## Safe by design

The integration runs the CLI with force disabled ([`--disallow-force`](/cli/global-flags)), so Claude can archive files but cannot permanently delete them. Archived files remain recoverable, and Poly's version history lets you inspect or reverse changes. See [Recovering Files](/recovering-files).

For command details and troubleshooting, see the [Poly CLI](/cli), [Agent Skill](/cli/agent-skill), and [Using MCP](/integrations/using-mcp) guides. The plugin source is available at [withpoly/polycc](https://github.com/withpoly/polycc).
