---
title: "OpenCode"
sidebarTitle: "OpenCode"
description: "OpenCode Supermemory Plugin — persistent memory across coding sessions"
icon: "/images/opencode-logo.png"
---
This integration requires the **Supermemory Pro plan**. [Upgrade here](https://console.supermemory.ai/billing).
[OpenCode-Supermemory](https://github.com/supermemoryai/opencode-supermemory) is an OpenCode plugin that gives your AI persistent memory across sessions. Your agent remembers what you worked on — across sessions, across projects.
## Get Your API Key
Create a Supermemory API key from the [API Keys](https://console.supermemory.ai/keys) page, then add it to your shell profile so it persists across sessions:
```bash
echo 'export SUPERMEMORY_API_KEY="sm_..."' >> ~/.zshrc
source ~/.zshrc
```
```bash
echo 'export SUPERMEMORY_API_KEY="sm_..."' >> ~/.bashrc
source ~/.bashrc
```
```powershell
[System.Environment]::SetEnvironmentVariable("SUPERMEMORY_API_KEY", "sm_...", "User")
```
Restart your terminal after running this.
## Install the Plugin
```bash
bunx opencode-supermemory@latest install
```
For LLM agents (non-interactive):
```bash
bunx opencode-supermemory@latest install --no-tui
```
Ensure your `~/.config/opencode/opencode.jsonc` contains:
```json
{
"plugin": ["opencode-supermemory"]
}
```
## How It Works
Once installed, the plugin runs automatically:
- **Context Injection** — On session start, relevant memories are fetched and injected into the agent's context. This includes user preferences, project knowledge, and past interactions.
- **Keyword Detection** — Phrases like "remember" or "save this" trigger automatic storage.
- **Smart Compaction** — At 80% context capacity, sessions are summarized and saved as memories.
- **Privacy Protection** — Content within `` tags never persists.
### Memory Scopes
| Scope | Description |
|-------|-------------|
| `user` | Memories that persist across all projects |
| `project` | Memories isolated to the current project (default) |
### Memory Types
| Type | Description |
|------|-------------|
| `project-config` | Project configuration and setup details |
| `architecture` | Codebase structure and design patterns |
| `error-solution` | Problems encountered and their fixes |
| `preference` | User preferences and coding style |
| `learned-pattern` | Patterns discovered during sessions |
| `conversation` | Important conversation context |
## Commands
### /supermemory-init
Explore and index your codebase structure into memory:
```
/supermemory-init
```
## Tools
The agent has access to a `supermemory` tool with these modes:
| Mode | Parameters | Function |
|------|------------|----------|
| `add` | content, type?, scope? | Store information |
| `search` | query, scope? | Find relevant memories |
| `profile` | query? | View user preferences |
| `list` | scope?, limit? | Display stored items |
| `forget` | memoryId, scope? | Remove memory |
## Configuration
Create `~/.config/opencode/supermemory.jsonc`:
```jsonc
{
"apiKey": "sm_...", // Or use SUPERMEMORY_API_KEY env var
"similarityThreshold": 0.6, // Minimum match score (0-1)
"maxMemories": 5, // Memories per injection
"maxProjectMemories": 10, // Project memory listings
"maxProfileItems": 5, // Profile facts injected
"injectProfile": true, // Include user preferences in context
"containerTagPrefix": "opencode", // Tag prefix for scoping
"compactionThreshold": 0.80 // Context usage ratio for summarization
}
```
## Logging
View plugin activity:
```bash
tail -f ~/.opencode-supermemory.log
```
## Next Steps
Source code, issues, and detailed README.
Memory plugin for Claude Code.