Project 01 / In development

Ghosttree

The next session shouldn’t start from scratch.

Ghosttree is a shared memory for AI coding agents that you host yourself. It carries knowledge and unfinished work from one session to the next and gives each agent what it needs for the project, its branch and the machine it is running on.

Source-available, not open source · Before 1.0 · Built from source

Source & setup

Code stays. Context gets lost.

The next agent sees the code. It may not know why a database was chosen, which approach already failed, or where the previous session stopped. Repeating that background takes time. Leaving it in scattered notes makes it harder to maintain.

Ghosttree gives that information a place and a history. Agents can retrieve relevant context, correct it and leave a useful handoff for the next session.

01 / From a session to usable contextOn infrastructure you control

Your coding tools

  • Claude Code
  • Codex
  • OpenCode
ctx on your machineMCP tools · hooks · transcript collection
Your Ghosttree serverGhosttreeSQLite + full-text searchOptional session analysis
For the next session
  • Relevant context
  • Requests & evidence
  • Files & documents
Selected for project, branch and machine

ctx is the command-line client on each workstation. Agents reach the server through it, with MCP tools and hooks; transcripts are collected from Claude Code and Codex. A generated .ghosttree/ directory also makes knowledge, file descriptions, requests and documents readable beside the code. Session history and the analysis live on the server.

What it carries forward

01

Context with a scope

A tool installed on one workstation is a machine fact. An architectural decision belongs to the project; a temporary workaround may belong to a branch. Global knowledge can apply everywhere. Ghosttree selects context along these axes, including recorded branch ancestry.

02

Decisions and pitfalls

Keep the reasoning behind a choice and the approaches that did not work. Find them by project, branch or machine.

03

What files do

Describe a file or directory beside the source. The description has its own history and can be updated as the code changes.

04

The work ledger

Requests keep their acceptance criteria, dependencies and evidence together. Sessions can pick up an existing task and leave a handoff when interrupted. Completion requires evidence and resolved criteria.

05

Versioned documents

Edit specifications and plans as local Markdown, then publish revisions outside Git. History and diffs preserve how a document changed; concurrent edits are detected.

06

The original conversation

Claude Code and Codex transcripts are captured incrementally, so the original wording remains searchable across machines and coding tools. Common credential patterns are redacted locally, and uploads are retried after an outage.

A passing wish can become a recorded requirement.

Someone mentions a missing export halfway through another task. The conversation moves on. Ghosttree’s optional backend analysis can recover that request from the session and add it to the work ledger, with a reference to where it was said.

  1. Read what was asked for

    The requirements pass reads user messages and compares them with the existing backlog. Its extraction rules exclude the agent’s own proposals and routine instructions for the current task.

  2. Keep the source attached

    An extracted request must quote a passage from its source session. Repeated wishes can be linked to an existing entry. New entries start open; acceptance criteria are defined separately.

  3. Retain what was learned

    A separate pass extracts lasting decisions and pitfalls from the conversation. These become reviewable knowledge candidates, with their source attached. They go through review before becoming part of the default context.

This builds a traceable requirements backlog over time. Analysis uses a configured language model; the operator chooses the provider. It does not implement the work or decide what counts as accepted.

Where the project stands

Ghosttree is in active development before version 1.0. The CLI, server and integrations are usable today; there is no stable release yet, so the quick start builds it from source. Interfaces and storage may still change between minor releases.

One Go binary. A SQLite database. Integrations for Claude Code, Codex and OpenCode. Designed for a private network or a properly configured reverse proxy.

Source & setup

Read the code. Check the terms.

Ghosttree is source-available under PolyForm Noncommercial 1.0.0. Personal and noncommercial use is permitted. A separate Micro Business Grant allows qualifying small organizations to use it for their own commercial work.

Hosting Ghosttree for third parties, embedding it in a commercial offering or using it outside the grant requires a separate agreement. The complete license and grant define the terms.

All projects