Skip to main content

Overview

The Devin integration gives claude-mem persistent memory to agents running in Devin CLI, which Devin Desktop also uses. It handles three things:
  1. Observation recording — Captures tool usage from Devin’s lifecycle hooks and sends it to the claude-mem worker for AI processing
  2. Context injection — Injects the observation timeline at session start through the SessionStart hook’s additionalContext, the same envelope Claude Code uses
  3. Session summaries — Summarizes each session from the last assistant message Devin sends on Stop
Devin reads user-level hooks from the "hooks" key of ~/.config/devin/config.json (%APPDATA%\devin\config.json on Windows). The installer merges claude-mem’s hook rules into that key and leaves your other Devin settings and hooks alone.

Installation

Or manage the hooks directly:
Start a new Devin session afterwards and run /hooks to confirm the claude-mem hooks loaded.

Event Mapping

PreToolUse is not registered: Devin’s PreToolUse output can rewrite tool input and approve calls, so claude-mem does not hook it.

Tool names

Devin names its tools in lowercase. The adapter maps the ones with a Claude Code counterpart, so capture, file tracking and the CLAUDE_MEM_SKIP_TOOLS defaults apply to them the same way: Other tools, including MCP tools (mcp__<server>__<tool>), are recorded under their Devin names.

Working directory

Devin’s hook payload carries no cwd. The adapter uses DEVIN_PROJECT_DIR, which Devin sets for every hook command, so observations land in the right project.

Claude Code hooks in Devin

Devin also loads hooks from ~/.claude/settings.json and .claude/settings.json by default (read_config_from.claude). claude-mem’s Claude Code hooks ship as plugin hooks, not in those files, so Devin does not run them a second time.