Adding memory to JetBrains AI Assistant
one MCP file every IDE reads, and no hook that can deliver a digest
AI Assistant is the chat inside IntelliJ IDEA, PyCharm, GoLand and the other JetBrains IDEs. It keeps each project's chats on disk and opens the next one without them — and without anything from the other forty-two coding agents on the machine.
What AI Assistant already has
Chats live under the JetBrains IDE configuration directory, one directory per product and version (IntelliJIdea2026.2, PyCharm2026.1, …). That root is ~/Library/Application Support/JetBrains on macOS, %APPDATA%\JetBrains on Windows, and ${XDG_CONFIG_HOME:-~/.config}/JetBrains elsewhere. DEJA_JETBRAINS_ROOT replaces the root.
A project's chats are the ChatSessionStateTemp component of <config>/<Product><version>/workspace/<projectWorkspaceId>.xml. The file is named after the project's workspace id, not its path, and most workspace files have no chat. An agent chat keeps only the prompts in that XML; its work is in aia-task-history/<chat uid>.events. When that chat names an agent deja already reads — Junie, Claude, Codex, Copilot, Cline, Kilo, opencode — the conversation stays in that agent's own store, so it is not indexed twice. Junie in the IDE is Junie.
Adding recall
deja install jetbrains
That writes the MCP server into ~/.ai/mcp/mcp.json under mcpServers, the global file every JetBrains IDE's AI Assistant reads (McpApplicationServerConfigurationService). Servers already in the file are left alone, and uninstall takes only deja's entry.
What arrives, and what does not
The deja tool. Nothing arrives unasked. AI Assistant 262.10968.170 runs no user hook — no hook configuration and no hook runner in the plugin — so there is no automatic install beside this one, and no digest, per-prompt recall, tool line, failure note, compaction packet or session-end surface. Recall reaches the chat only as the MCP tool.
The same plugin reads no skill in its own chat. Its skill folders are handed to the agents it hosts (Junie, Claude, Codex), and those already get deja's skill from their own directories. Rules are per project, .aiassistant/rules/*.md plus a project setting for custom instructions; there is no user-level file for deja rules to write. Custom chat commands are read only from a project's .aiassistant/commands.
Reopening a chat
A chat reopens from the IDE's own history panel. There is no command-line resume: deja resume has nothing to print for an AI Assistant chat. Carrying one into a new chat is deja handoff, which prints a packet to paste — the chat runs inside the IDE, so there is no flag to hand that packet to.
The part that is not about this harness
The index covers every agent's transcripts on the machine — forty-three of them today, each in its own format — so a fix found in Claude Code or Cursor answers a question asked in AI Assistant, including sessions from before any of this was installed. Indexing and search are local, and credentials are stripped as the index is built (privacy).
Getting started · How AI Assistant's store is read · Junie is a different harness
Found this useful? Star deja-vu on GitHub.