Documentation navigation
Docs/Troubleshooting/Agent issues

Agent issues

Fix boot context, recall hooks, MCP tools, and stale agent memory.

Agent issues are usually local configuration issues, not server memory issues.

What to check

Check:

RuntimeImportant files/settings
Claude Code~/.lore/config.json, MCP server, plugin hooks, and any remaining legacy CLAUDE.md imports
Codex~/.lore/config.json, ~/.codex/config.toml, ~/.codex/hooks.json, MCP server, plugin enabled state
OpenClaw~/.lore/config.json, ~/.openclaw/openclaw.json plugin entry and optional baseUrl / apiToken overrides
Pi~/.lore/config.json, extension symlink under ${PI_CODING_AGENT_DIR:-~/.pi/agent}/extensions/lore, and optional plugin config overrides
Hermes~/.lore/config.json, plugin symlink, and optional environment fallback
OpenCodeOpenCode 1.18.3 or newer, shared ~/.lore/config.json, and ~/.config/opencode/plugins/lore-memory.js from prerelease v1.3.15-pre.4 / lore-opencode.zip

After changing any of these, restart the runtime. Hooks and MCP config are usually loaded at process start.

OpenCode checks

  • If no native Lore tools appear, confirm the plugin file contains @lore-managed-opencode-plugin and that the CLI meets the tested OpenCode 1.18.3 baseline.
  • If tools appear, verify the exact names include lore_guidance, lore_status, and lore_move_node. Names such as lore_lore_search indicate an MCP setup, not the standard native plugin.
  • If Boot is missing but tools and prompt Recall work, experimental.chat.system.transform may be unavailable. This is an expected fail-open mode: the plugin warns once, does not alter the user message, and chat.message Recall continues.
  • If all Lore calls fail, validate ~/.lore/config.json, server health, token, and network access. Every plugin REST call except health identifies client_type=opencode.
  • If an unmarked file already exists at ~/.config/opencode/plugins/lore-memory.js, the installer intentionally preserves it. Move it yourself before retrying if you want Lore to own that path.
  • If OpenCode shows both lore and lore:lore, reports an SSE error for one of them, or the SaaS console records multiple client types for one prompt, another plugin is importing Claude Code Lore compatibility data. The native plugin removes duplicate Lore MCP entries after config merge. The installer separately prevents early Claude Lore lifecycle-hook imports by setting claude_code.plugins_override["lore@lore"] = false only in an existing user-level oh-my-openagent.json[c] or legacy oh-my-opencode.json[c] that it can parse safely. It preserves unrelated settings and JSONC comments, never modifies Claude Code files, and warns and skips an unsafe or unparseable compatibility file. Restart OpenCode after reinstalling.
  • OpenCode uninstall restores the previous lore@lore override recorded by Lore. If you changed that value after installation, the uninstaller preserves your newer value instead.
  • The standard OpenCode installer must not create an MCP entry. Use /api/mcp?client_type=opencode only as a manual fallback when native plugin loading is impossible. To allow that legacy fallback alongside the native plugin, run the installer and start OpenCode with LORE_OPENCODE_ALLOW_MCP=1; reinstalling with the escape hatch restores the previous compatibility value.

To reinstall the prerelease:

*.bash
Shell
npx @loremem/cli install --pre --channels opencode --force

If MCP works but recall does not appear in other runtimes, check hook configuration. In OpenCode, check native plugin loading and chat.message instead. If recall appears but the agent does not use it, improve local guidance and verify the agent opens recalled nodes before relying on them.

Setup issuesCheck server address, setup status, health, migrations, and auth problems.Recall issuesFix missing memories, noisy results, slow recall, and confusing query output.Common questionsShort answers for everyday Lore usage decisions.Memory writing tipsUse a practical checklist and example for durable memory shape.