A fact one Bot remembered is reported as remembered to a second Bot, which then never sees it
Maintainers usually reply within 1 day
@charan-rathore is already working on this.
Since Oct 10, 2026.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
Research direction
Start with server/src/memory/store.ts, reading the create path for formedBy: "bot", its unique-index assumptions, and retrieve's formedByAgentId filter. Confirm with maintainers whether bot memories should be scoped per Bot or shared across Bots, then make duplicate reporting and retrieval follow that decision for both Bot A and Bot B.
Written by the indexing model from the issue text.
Description
remember from a Bot is deduplicated per person, but read back per Bot.
server/src/memory/store.ts(thecreatepath forformedBy: "bot") looks for an existing row by(ownerUserId, formedBy = 'bot', importDigest). The unique index has the same shape. It does not includeformedByAgentId.retrievereturns Bot-formed rows only whereformedByAgentIdis the asking Bot.
So if Bot A remembers "I prefer metric units" for a person, and Bot B later forms the same sentence, B gets { duplicate: true } with A's id. B never records it, and B's retrieval never returns it. B is told the fact is remembered but never sees it.
There are two possible directions:
- Scope the dedup lookup and the index to
formedByAgentId, so each Bot keeps its own copy. - Keep one row per person, and let retrieval include Bot-formed rows from other Bots the person uses.
Which one is intended? I'm happy to send a PR for either.
- Dominant language
- TypeScript
- Stars
- 6.6k
- Forks
- 914
- Avg merge
- 22h 44m
- Merged PRs (30d)
- 137
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from CopilotKit/OpenBot
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
CopilotKit/OpenBot#815 ·
Maintainers usually reply within 1 day
-
Wrong key location at startupPossibly taken @charan-rathore claimed this 3 days ago. Open
Difficulty 1/5 Under an hour Newbie friendliness 68/100
CopilotKit/OpenBot#800 ·
Maintainers usually reply within 1 day
-
setup-learning.ts fails on Windows with "spawn npx.cmd EINVAL"Possibly taken @Caldas claimed this 6 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
CopilotKit/OpenBot#792 ·
Maintainers usually reply within 1 day
-
Remote AG-UI Bots can't use the browser in chat: `computer_*` calls refused as "unavailable for this headless turn"Possibly taken @charan-rathore claimed this 3 days ago. Open
Difficulty 3/5 1-2 days Newbie friendliness 68/100
CopilotKit/OpenBot#804 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 Over a week Newbie friendliness 22/100
CopilotKit/OpenBot#786 ·
Maintainers usually reply within 1 day
All issues in CopilotKit/OpenBot
Similar issues
-
check:passed streams:edit
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
area:mcp bug has repro platform:vscode regression
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
anthropics/claude-code#103970 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
sdk-typescript: unquoted COPY globs in shell form are silently dropped from the image build contextOpenbug javascript
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day