[FEATURE] Opt-in real-time prompt persistence to external memory with Desktop UI setup
Problem statement
I want every submitted user prompt to be saved automatically, in real time, to my own durable memory store so I can continue work across chats, projects, and assistants without losing context.
Today, my Redis Agent Memory integration supports this workflow in local ChatGPT/Codex desktop chats: a trusted UserPromptSubmit hook records the prompt into a local retry queue, then forwards it to Redis. The model does not need to choose a memory tool, and the user does not need to say “remember this” on each turn.
I want an equally straightforward, supported setup in Claude's Desktop UI. Model-directed calls to a memory MCP tool can miss prompts and only capture selected summaries. Periodic conversation exports do not provide prompt-by-prompt capture as the conversation happens.
Existing capability and requested gap
Claude Code already documents UserPromptSubmit and other lifecycle hooks, including in Desktop Code sessions: https://code.claude.com/docs/en/hooks
This is not a request to add a hook that already exists. The request is for a supported, GUI-configurable prompt-persistence integration that uses those events where available and clearly documents the supported Desktop surfaces. For ordinary Claude Desktop Chat, please provide equivalent authorized capture coverage or route that part of the request to the appropriate Desktop team.
Proposed user experience
- Install an external-memory plugin such as Redis Agent Memory.
- Configure the store connection through a UI, without putting the API key into chat or editing environment variables manually.
- Enable an explicit “Automatically save my submitted prompts” option for selected projects/surfaces.
- Submit ordinary prompts. Each prompt is durably recorded as it is submitted, independently of model tool selection or whether a response completes.
- Open a new chat or switch assistants and retrieve the saved project context.
A small capture-status view should make it clear whether saving is enabled, whether the current surface is supported, and whether delivery is pending or has failed.
Suggested behavior / acceptance criteria
- Use supported lifecycle hooks or an equivalent documented event subscription instead of requiring the model to invoke a tool for every prompt.
- Capture the submitted, user-visible prompt text with a stable event ID, timestamp, session ID, and project identity.
- Durably enqueue locally at submission time and forward asynchronously. An unavailable store should not lose the prompt or block normal conversation indefinitely.
- Support retry and deduplication so reconnecting does not silently drop or duplicate turns.
- Allow project-level opt-in, pause, and disable controls. Keep credential entry separate from conversation content and allow configured redaction/exclusions before external delivery.
- Preserve project identity across new chats and worktrees, and let users reuse connection settings without re-entering secrets in each checkout.
- Document the behavior separately for CLI, Desktop Code, Cowork, and ordinary Desktop Chat. Do not imply that installing an MCP plugin automatically observes every prompt.
“Real time” here means immediate durable capture for each submission, with best-effort asynchronous remote delivery and visible retry state during outages.
Alternatives tried
- Explicit MCP memory tools/checkpoints: useful for selected decisions and handoffs, but saving depends on model tool selection.
- Conversation exports/imports: useful for historical migration, but not continuous capture.
- Custom hooks: already a viable foundation in Claude Code; a supported UI setup and clear cross-surface coverage would make this accessible to Desktop users.
Concrete example
I investigate a failing test with Claude, submit several prompts describing constraints and attempted fixes, and then reach a usage limit or start a new chat. All submitted prompts should already be in the configured store, even if Claude never chose a “save memory” tool and the last response was interrupted. Another assistant can retrieve the recorded context and continue.
Priority
Medium — would be very helpful for cross-chat and cross-assistant continuity.
Feature category
MCP server integration / Desktop plugin configuration.
Additional context
Comparison implementation: https://github.com/alberttwong/redis-agent-memory-mcp
Capture workflow and limitations: https://github.com/alberttwong/redis-agent-memory-mcp/blob/main/docs/automatic-capture.md
Related configuration reports (a separate obstacle to a GUI-only setup):
- https://github.com/anthropics/claude-code/issues/95683
- https://github.com/anthropics/claude-code/issues/89749
- https://github.com/anthropics/claude-code/issues/102580
I searched existing requests before filing and did not find an exact match for this end-user prompt-persistence workflow. If there is a canonical tracking issue or a supported configuration that already meets it, please link it and clarify the Desktop surface coverage.