Work with Claude Code, Codex, or OpenCode normally

June 4, 2026 · View on GitHub

re_gent

Version Control for AI Agents

Track what your agent did, which prompt wrote each line, and inspect any step.

Star on GitHub Apache 2.0 License Go Version

CI Status Contributions Welcome Claude Code Compatible Codex Compatible OpenCode Compatible Discord


Quick Start

# Install via Homebrew (macOS/Linux)
brew tap regent-vcs/tap
brew install regent

# Or via Go
go install github.com/regent-vcs/regent/cmd/rgt@latest

# Initialize in your project
cd your-project
rgt init

# Work with Claude Code, Codex, or OpenCode normally — activity is tracked automatically

# See what happened
rgt log
rgt blame src/file.go:42
rgt show <step-hash>

That's it. Your agent activity is now auditable.


Demo

https://github.com/user-attachments/assets/a19b7c56-2e3c-4f04-81a1-d8665e3963b8

Every agent turn is automatically captured. No manual commits needed.


Examples


What You Get

See what your agent actually did

$ rgt log

Step a1b2c3d  |  2 min ago  |  Tool: Edit
 File: src/handler.go
 Added error handling to request handler
 + 5 lines, - 2 lines

Step d4e5f6g  |  5 min ago  |  Tool: Write
 File: tests/handler_test.go
 Created unit tests for handler
 + 23 lines

Step f8g9h0i  |  8 min ago  |  Tool: Bash
 Command: go mod tidy
 Cleaned up dependencies

Blame: which prompt wrote this line?

$ rgt blame src/handler.go:42

Line 42: func handleRequest(w http.ResponseWriter, r *http.Request) {

Step:    a1b2c3d4e5f6
Session: claude-20260502-143021
Tool:    Edit
Prompt:  "Add error handling to the request handler"

Track multiple concurrent sessions

$ rgt sessions

Active Sessions:
claude_code:claude-20260502-143021  |  3 steps  |  Last: 2 min ago
codex_cli:codex-20260502-091534     |  7 steps  |  Last: 2 hours ago

$ rgt log --session claude_code:claude-20260502-143021
# Filter history by session

See full context for any change

$ rgt show a1b2c3d

Step a1b2c3d4e5f6
Parent: d4e5f6g7h8i9
Session: claude-20260502-143021
Time: 2026-05-02 14:30:21

Tool: Edit
File: src/handler.go

Changes:
+ func handleRequest(w http.ResponseWriter, r *http.Request) {
+     if r.Method != "GET" {
+         http.Error(w, "Method not allowed", 405)
+         return
+     }
- func handleRequest(w http.ResponseWriter, r *http.Request) {

Conversation:
User: "Add error handling to reject non-GET requests"
Assistant: "I'll add method validation to the handler..."

Why This Exists

AI agents have no version control of their own.

You know this pain:

  • "It was working five minutes ago"
  • "Why did you change that file?"
  • "Go back to before the refactor"
  • /compact and pray
  • Copy-pasting code into a fresh chat

Three primitives that should already exist:

  • rgt log — what did this session do?
  • rgt blame — which prompt wrote this line?
  • rgt show — inspect the full context for any step

We gave agents write access to our codebases. We did not give ourselves git for it. re_gent fixes that.


How It Works

re_gent stores agent activity in .regent/ (like .git/):

.regent/
├── objects/     # Content-addressed blobs (BLAKE3)
├── refs/        # Session pointers (one per agent)
├── index.db     # SQLite query index
└── config.toml

Every tool-using turn creates a Step — a content-addressed snapshot of what changed, why, and who asked:

Step {
  parent:      <previous-step-hash>
  tree:        <workspace-snapshot>
  causes:      [{ tool_name: "Edit", args: <input>, result: <output> }]
  session_id:  "claude_code:claude-20260502-143021"
  timestamp:   "2026-05-02T14:30:21Z"
}

Steps form a DAG. Each session has its own branch. Common ancestors dedupe. You get git-level auditability for agent activity.

Technical details: See POC.md for the complete specification.


Installation

Via Homebrew (macOS/Linux)

brew tap regent-vcs/tap
brew install regent

This installs the rgt command and automatically sets up shell completions for bash, zsh, and fish.

Via Go Install

go install github.com/regent-vcs/regent/cmd/rgt@latest

Shell Completion (manual setup):

# Bash
rgt completion bash > /usr/local/etc/bash_completion.d/rgt

# Zsh
rgt completion zsh > "${fpath[1]}/_rgt"

# Fish
rgt completion fish > ~/.config/fish/completions/rgt.fish

From Source

git clone https://github.com/regent-vcs/regent
cd regent
go build -o rgt ./cmd/rgt
sudo mv rgt /usr/local/bin/

Binary Releases

Download pre-built binaries from GitHub Releases


Supported Tools

ToolStatus
Claude CodeFully supported
OpenAI Codex CLIFully supported
OpenCodeFully supported
Cursor, Cline, ContinuePlanned

Hooks auto-configure on rgt init. No manual setup required.


Commands

CommandDescription
rgt initInitialize .regent/ in current directory
rgt logShow step history (supports --session, -n, --json, --graph)
rgt sessionsList all active sessions
rgt statusShow current repository state
rgt show <step>Display full context for a step (tool call + conversation)
rgt blame <path>[:<line>]Show per-line provenance for a file
rgt cat <hash>Inspect any object by hash
rgt versionPrint version information
rgt completionGenerate shell completion scripts

Features

  • Content-Addressed Storage — BLAKE3 hashing, automatic deduplication
  • Fast Queries — SQLite index, sub-10ms lookups
  • Per-Session DAG — Concurrent sessions tracked as separate refs
  • Conversation Tracking — Survives /compact and /clear
  • Hook-Driven — Transparent Claude Code, Codex, and OpenCode integration
  • Zero Configuration — Hooks auto-configure on rgt init
  • Concurrency-Safe — CAS refs, ACID transactions
  • Gitignore-Compatible.regentignore support

Editor Integration

VSCode Extension

Get inline blame annotations directly in your editor:

# From VSIX (Recommended)
# Download the latest .vsix from:
# https://github.com/regent-vcs/vscode-regent/releases
# Then in VS Code: Extensions > ... > Install from VSIX...

# From source (Development)
git clone https://github.com/regent-vcs/vscode-regent
cd vscode-regent
npm install && npm run compile
# Press F5 in VS Code to launch Extension Development Host

Features:

  • Inline blame annotations showing which step modified each line
  • Hover tooltips with full step context (timestamp, tool name, arguments)
  • Session timeline view in the sidebar
  • One-click access to conversation history

Requirements: rgt CLI must be installed and rgt init run in your project.

View Extension Docs →


re_gent vs Git

Gitre_gent
Tracks code
Tracks agent activity
Blame with prompt
Conversation history
Concurrent sessions⚠️ shared workspace conflicts✅ separate captured session refs
PurposeDeveloper VCSAgent audit trail

re_gent complements git, doesn't replace it. Use both.


Roadmap

See ROADMAP.md for planned features including:

  • Non-destructive rewind and fork operations
  • Additional tool adapters (Cursor, Cline, Continue)
  • Session sharing and merge support
  • Garbage collection and integrity verification

Contributing

Contributions welcome! See CONTRIBUTING.md for guidelines.

Quick Start:

Before opening a PR:

  • Tests pass: go test ./... and go test -race ./...
  • Linter passes: golangci-lint run
  • Code formatted: go fmt ./...

Built With


License

Apache License 2.0


Built by contributors

DiscordDiscussionsIssuesTechnical Spec