What happened to Graft?

Graft was renamed Trail-code. The banner at the top of the README reads: “Graft is now Trail-code. Graft lives on as the graft map, and every graft command still works. What’s new is learnings.” README

Nothing was removed. The code map Graft built is now called the graft map, one of Trail-code’s two parts. The old addresses redirect: graft.nanonets.ai goes to trailhq.com/graft and then to trailhq.com/trail-code graft.nanonets.ai, and github.com/nanonets/graft goes to github.com/trailhq/Trail-Code. github.com

Graft to Trail-code: what changed
ItemBeforeNowDoes the old one still work?
Trail-code (product name) graftTrail-codeGraft lives on inside it as the graft mapREADME
npm package @nanonets/graft@trailhq/trail-codeYes; both at 0.23.0 on Oct 16, 2026, and both get every releaseCHANGELOG
CLI command grafttrailYes; graft upgrade adds trail next to graft
GitHub repo github.com/nanonets/graftgithub.com/trailhq/Trail-CodeRedirects to the new repo
Website graft.nanonets.aitrailhq.com/trail-codeRedirects through trailhq.com/graft
Code map the graft code mapthe graft map, one of two partsYes; repos set up by graft move to trail on their own

Facts in this table were checked against the sources listed at the end of this page, between and .

To upgrade an existing install, run graft upgrade, which adds the trail command next to graft. Each repo that Graft set up moves over the first time you open Claude Code in it README. The old npm package is not marked deprecated; its README carries the rename banner instead npm. Some trailhq.com pages, the footer link and an October blog post still say Graft, so you will see both names for a while trailhq.com. The homepage’s older Graft block also says “no telemetry”, while Trail-code sends anonymous usage stats unless you opt out (details below) trailhq.com.

What is Trail-code used for now?

Trail-code gives coding agents a map of your code and what your team has learned about it. The trailhq.com page names Claude Code, Codex, Cursor, Kiro and “any agent that reads files” trailhq.com; the README adds Gemini CLI, GitHub Copilot, Windsurf and others, and says Claude Code “gets the deepest setup”. README

Both of its parts run on your machine. The first is the graft map: trail init parses the repo with tree-sitter into a map of every file, function and caller. The README describes it as “linked markdown nodes your agent opens and greps like any other file”, built with no model, no embeddings and no API key. It says the map sits in graft/, but the newer 0.23.0 changelog moves it to .trail/cache/, kept out of git, and we go by the changelog. CHANGELOG

The second part is learnings. When a session works something out, or you correct how something is done, the agent saves a short Markdown file in .trail/learnings/. Learnings about the code are committed with the code, and learnings about you stay on your machine.

Teammates get learnings through git, with no server: “commit .trail/, and every clone has them.” Because a learning is a file in the pull request, it is reviewed like the code it describes. The agent never edits an existing learning. When it goes against one, it says why in the commit and saves a new one, and trail check flags the conflict before the PR. trail init leaves your CLAUDE.md alone. README

The README reports one benchmark: with the graft map, Claude Sonnet 5 solved 33 of 50 SWE-bench Verified issues, against 27 without it. README

Is Trail-code open source?

Yes. The CLI is free and MIT licensed README, and the code is on GitHub at trailhq/Trail-Code, where the repo had 10,503 stars on Oct 21, 2026. GitHub API

Install is two commands: npm install -g @trailhq/trail-code, then trail init. No sign-in or API key is needed for the map, the hooks, learnings or trail check; a key only adds the written summaries from trail build --deep. README

On telemetry, the Trail-code page says “anonymous usage stats, opt-out”, and TELEMETRY.md says anything not listed in that file is not sent. You can turn it off with trail telemetry disable or DO_NOT_TRACK=1, and CI environments switch it off on their own. TELEMETRY.md

The README marks the shared team workspace and the Skills and Guardrails learning kinds as “soon”. README GitHub Releases is empty, and the latest git tag (v0.21.1) trails npm (0.23.0), so the changelog is the release record. Trail-code is built for coding agents working in a repo; it does not remember end users across chat sessions.

How is Trail-code different from Zep-style agent memory?

Zep keeps a user’s conversations and business data as episodes in a temporal context graph, run as a managed service or in your own cloud. getzep.com Trail-code keeps repo knowledge as Markdown files in git.

In Zep’s agent memory, each user owns a context graph and threads group that user’s conversations. help.getzep.com That suits assistants that must remember customers. Zep also links an agent plugin for Claude Code, Codex and Cursor, kept in a separate repository. github.com

On open source, Zep’s FAQ says Community Edition, the version you could host yourself, “is deprecated and no longer supported” help.getzep.com, and the getzep/zep repo says it “is not Zep’s product or service”. github.com Review works differently too. Zep’s human approval applies to Agent Skills, where the default is auto help.getzep.com, while a Trail-code learning goes through the same pull request review as code.

Which open source memory tools should developers compare?

Start with what your agent needs to remember. For a coding agent, that is the codebase and the team’s decisions about it; for an assistant, it is users and conversations.

Open source memory tools for agents, checked Oct 16, 2026
ToolLicense (as stated)Coding-agent fitWhat it storesWhat to check
Trail-code MITBuilt for it: Claude Code, Codex, Cursor, Kiro and any agent that reads filesA code map plus learnings as Markdown files in the repo, shared through gitTeam workspace and the Skills and Guardrails kinds are marked soon; not for end-user chat memoryREADME
Graphiti Apache-2.0Reference MCP server for assistants such as Claude Desktop and Cursor; the README says it is not a production deploymentTemporal context graphs where facts have validity windows and trace back to source episodesSelf-hosted on Neo4j, FalkorDB or Amazon Neptune; governance is listed as self-managedhelp.getzep.com
Cognee Apache-2.0First-party integrations for Claude Code and Cursor, plus an MCP serverA knowledge graph of entities and relationships; code as a graph of symbols and dependenciesPostgres as a graph store is a demo, with the production version licensed; SOC 2 is in progressgithub.com
mem0 Apache-2.0Skills that teach Claude Code, Codex, Cursor and others how to build with mem0Memories extracted from messages, scoped by user, agent and runOpen source retrieval has no graph memory; published scores reflect the managed platformgithub.com
Letta Apache-2.0Letta Code is itself a stateful agent harnessAgent memory in MemFS, a git repository that belongs to the agentletta-ai/letta now points to letta-code; Letta Cloud is the defaultgithub.com
Zep Apache-2.0 for the getzep/zep repo of examples, integrations and tools, which Zep says is not its productAgent plugin for Claude Code, Codex and Cursor (separate repo)User context graphs and threads in Zep CloudCommunity Edition is deprecated; Graphiti is the open source parthelp.getzep.com

Facts in this table were checked against the sources listed at the end of this page, between and .

Graphiti tracks how facts change over time and keeps lineage from each fact to its source, which suits agents working on data that shifts github.com. Cognee turns documents, code and conversations into a graph you can host yourself, and can import memory from mem0, Letta, Zep or Graphiti github.com. Letta builds agents that rewrite their own memory, with every change tracked in git github.com. mem0 handles user, session and agent memory, and comes as a library, a self-hosted server or a cloud service github.com.

How does Trail-code relate to Trail?

Trail-code is the open source, code-focused piece of Trail. Trail itself turns docs, Notion, Slack and SOPs into governed business rules that any AI agent can follow, with every answer cited back to its source. trailhq.com

Trail’s Context Graph page says Graft, its open source context layer, “applies the same mechanism to code”. trailhq.com Both put review before use. In Trail, your team approves a rule before agents can reach it trailhq.com, and in Trail-code, a learning is approved in the pull request. Trail’s CLAUDE.md page describes a step that reads commits and PR history and proposes rules for you to approve trailhq.com. Outside code, the same approve-then-use pattern governs agent memory for enterprise processes, such as 3-way match exceptions in accounts payable.

You do not need Trail to use Trail-code. The README says the map, hooks, learnings and trail check all work on your machine. It adds that a Trail workspace (coming soon) is only for a team page across repos. No learning goes to Trail until you set one up README.

Frequently asked questions

something like Zep but open source?

Zep Community Edition, the self-hosted version, is deprecated, and Zep names Graphiti (Apache-2.0) as the open source framework that powers Zep Cloud. Graphiti builds temporal context graphs that you host and govern yourself. If the memory you need is for coding agents working in a repo, Trail-code (MIT) keeps it as Markdown files in git instead of a graph service.

Is Graft the same thing as Trail-code?

Yes. The README says Trail-code is graft's new name, and graft lives on inside it as the graft map. What is new is learnings: decisions and preferences your agents save as files in the repo.

Is Trail-code open source?

Yes. The CLI is free and open source under the MIT license, on GitHub at trailhq/Trail-Code and on npm as @trailhq/trail-code. It needs no sign-in and no API key for the map, hooks, learnings or trail check.

Do old graft commands and the @nanonets/graft package still work?

Yes. The README says every graft command still works, and graft upgrade adds the trail command next to it. Both npm packages were at version 0.23.0 on Oct 16, 2026, and the changelog says both keep getting every release.

Which languages and Node.js version does Trail-code need?

The README lists 23 languages plus Vue single-file components, parsed with tree-sitter. Full call and import resolution covers TypeScript, JavaScript, Python, Go, Java, Kotlin, PHP, Swift and R, and a file in an unlisted language is skipped. The npm package declares Node.js 20 or later.

Sources checked

Show 29 sources