OpenWolf
Keep project memory across your coding agents.
OpenWolf keeps task context, project maps and known fixes in one local folder.
Help Claude Code, Codex and OpenCode continue saved work and find relevant code.
Reduce repeated context and review recorded token usage by agent and model.
Memory and indexing run locally without extra model calls.
Hooks: Claude Code, Codex CLI · Plugin: OpenCode · Compatible hooks: Grok Build · Context only: Cursor, Gemini CLI, Antigravity
| Without OpenWolf | With OpenWolf |
|---|---|
| A new session may need the same project explanation again | Saved task context, project notes and known fixes remain in .wolf/ |
| Switching agents can leave unfinished work in the previous conversation | Explicit Claude and Codex handover packets carry selected saved context |
| Usage records are spread across agent sessions | Available token counters and API cost estimates are grouped by agent and model |
| Older session notes make useful information harder to find | Eligible old notes are archived with verified restore pointers |
| Repeated file reads and large command results use session space | Read guidance and supported output controls help reduce repeated context |
What it does
A coding session produces useful context: the task objective, files changed, failed tests and the next action. That information can be difficult to recover after compaction, a restart or a change of agent. Large file reads and command results can also fill a session with repeated text.
OpenWolf stores selected context beside your project and connects to the session and tool events your coding agent supports:
- Keep the objective, completed work, unresolved problems and next action in a checkpoint. Supported Claude and Codex hooks can restore saved context.
- Find files and symbols through a project map with descriptions, line ranges and import relationships. Partial scans preserve earlier entries.
- Save project notes and known fixes for later sessions. Archive eligible old session notes while retaining active, latest and pinned notes.
- Identify repeated reads of unchanged files. Supported Claude hooks can shorten selected large Bash results and retain the original output locally.
- Review available provider token counters, model cost estimates, hook health and completed OpenWolf activity in the dashboard.
Quick start
npm install -g openwolf
cd your-project
openwolf init
init detects installed agents and sets up their project integration.
Complete any project or hook trust review shown by your agent, then start a
new session. You can select agents with --agent claude codex opencode.
Supported agents
| Agent | Integration |
|---|---|
| Claude Code | Lifecycle hooks, read guidance, Bash output controls and skills |
| Codex CLI | Project hooks and AGENTS.md: saved task recovery and supported session and tool events |
| OpenCode | Native plugin and AGENTS.md: session and tool events, usage records and activity toasts |
| Grok Build | Enabled Claude-compatible hook discovery; activity notices stay in the dashboard |
| Cursor | Rules file (context only) |
| Gemini CLI | GEMINI.md block (context only) |
| Antigravity | AGENTS.md block (context only) |
Agents use the project's .wolf/ directory. The generated .gitignore
excludes local runtime data. Review notes, bug records and indexed content
before sharing them. Hook coverage depends on the installed agent version.
See the integration guide for details.
How it works
openwolf init creates .wolf/ and registers supported hooks or a plugin.
Memory, indexing and usage processing run locally without extra model calls.
The optional background update worker contacts npm to check for new runtimes.
| File | Purpose |
|---|---|
anatomy-index.json |
Project index: file descriptions, sizes, symbols and imports |
cerebrum.md |
Candidate preferences, conventions and recurring corrections |
STATUS.md |
Current project status and unfinished work |
buglog.json |
Searchable records of problems and fixes |
memory.md |
Session notes and outcomes |
token-ledger.json |
Operational records and separate content-size estimates |
hooks/ |
Installed lifecycle hooks and session state |
cache/bash/ |
Preserved originals of shortened Bash output |
handoff/ |
Task checkpoints, source references and handover packets |
archive/ |
Older session notes with verified restore pointers |
usage/, activity/ |
Recorded usage and completed OpenWolf actions |
During a session:
- Session start. Load a short project index and available saved task evidence. New sessions can select a verified compatible runtime update.
- Before reads. Identify eligible repeated reads and offer symbol guidance for large indexed files. Changed files and ranged reads are handled separately.
- After Bash. Supported Claude hooks can shorten selected output above an estimated size threshold. The original stays in a local cache. Test and build output are advisory-only by default.
- Every 25 tool batches. Supported Claude events can repeat selected approved rules within a size budget. Durable instruction injection requires an independently protected installation and administrator review.
- On compaction. Save a checkpoint for supported recovery paths. Recovery uses persisted task evidence; it cannot reproduce every part of live context.
- On stop. Record available usage and session observations. Eligible activity notices report completed work within the configured message limit.
Measurement
openwolf report
Example from a checked Codex session, shown in a shortened format:
Recorded provider usage
Input tokens: 50,393
Cached input: 28,800
Fresh input: 21,593
Output tokens: 146
Reasoning tokens: 80
Total tokens: 50,539
Cost calculation
Fresh input: model input rate
Cached input: model cached-input rate
Output: model output rate
Coverage
Cached input is included in input tokens.
Reasoning is included in output tokens in this record.
Content-size estimates are reported separately.
How to read the reports:
- Recorded usage comes from available Claude transcripts, Codex session records and OpenCode plugin records. Repeated records are reconciled. Missing counters remain unavailable rather than being reported as zero.
- Cost estimates use the relevant provider and model rates, including separate cache categories where available. They represent API list prices, not subscription charges. Unknown models and pricing assumptions are shown.
- Local estimates describe content size and output changes. They are separate from provider counters and do not prove a fixed amount of token savings.
openwolf usage report --json provides the recorded-usage report.
openwolf bench --repo --yes compares supported coding tasks with
and without OpenWolf. It uses real model access and can consume paid usage.
Reliability
Hook heartbeats, runtime checks and dashboard health help identify missing or failing integrations. Project updates check installed hook modules and report errors. Concurrent writes use journals or locks where required, and incomplete project scans retain entries they did not reach.
Compatible stable hook and plugin updates can be prepared in the background for new sessions. Major upgrades are notification-only by default. A running session keeps its selected runtime. This does not replace the global CLI or a running dashboard daemon. See automatic updates.
Security
- The dashboard binds to
127.0.0.1by default and requires a project token. - Hooks do not approve tool calls. Permission