Skip to documentation

ProjectCtx documentation

Automatic memory

Understand conversation harvesting, review boundaries, and local removal.

Automatic memory stages durable outcomes from supported local AI sessions. It is designed to capture decisions, corrections, learnings, and meaningful status changes without storing complete transcripts.

How It Works

projectctx connect installs one shared runtime under:

~/.projectctx/harvest/

Supported clients invoke that runtime through native lifecycle hooks. At the end of a qualifying session, the hook passes a private transcript snapshot to a restricted Claude/Haiku scribe.

The scribe may stage up to five durable items. It defaults to saving nothing when the conversation contains no lasting outcome.

Trust Boundary

The scribe receives:

  • exact read access to the temporary snapshot;
  • ProjectCtx memory tools needed to stage results; and
  • a restricted prompt that excludes secrets and session trivia.

It does not receive shell, editing, browser, search, sub-agent, or unrelated MCP tools. Complete transcripts are never stored in ProjectCtx, and temporary snapshots are deleted after processing.

Transcript content is treated as untrusted data. Instructions found inside a transcript cannot expand the scribe's tool access.

Review And Consolidation

Harvested items enter staging with unreviewed status. Promotion into durable records and relationships uses a separate preview that requires explicit approval.

This separation lets you inspect proposed changes, merge duplicates, correct relationships, or discard low-value items before they become canonical memory.

Requirements

Automatic local memory requires:

  • a supported local client configured by projectctx connect;
  • an authenticated Claude Code CLI;
  • access to the hosted project-memory MCP server; and
  • approval of the native lifecycle hook when the client asks.

Confirm the scribe model login with:

claude -p "Reply exactly OK" --model haiku

Diagnostics

Run:

projectctx doctor

Sanitized runtime diagnostics are written to:

~/.projectctx/harvest/harvest.log

Logs exclude transcript bodies and credential values. Failed checkpoints remain retryable, and rerunning projectctx connect repairs managed hook entries idempotently.

Remove Automatic Memory

Remove only ProjectCtx's hooks, shared skill links, runtime, and local harvest state with:

node ~/.projectctx/harvest/runtime/harvest-runner.cjs --uninstall --purge

This does not remove hosted MCP configuration, ProjectCtx accounts, or durable cloud records.

For failure-specific steps, see Troubleshooting.