You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thank you @AesElh for the clear report, and for noticing that indexing from the UI works. That pointed straight at the cause.
index_repository waits for the whole index before replying. On a large project that takes longer than Copilot for IntelliJ allows a single tool call, so the client gives up and cancels. The daemon then sees nobody waiting and stops that index, which is why every retry timed out again.
index_repository(repo_path="...", async: true) starts the index in the daemon (or joins one already running for that project) and returns right away. The index keeps running even if the client cancels, times out or disconnects.
Then call index_repository(repo_path="...", status: true) and repeat until state is succeeded, failed or cancelled; you also get started_at, finished_at and an error summary.
Async needs something that outlives the call: an open MCP session (your IDE's) is enough; a one-shot terminal cli ... --async needs codebase-memory-mcp daemon start first.
The default synchronous call works as before. When one is cut short, the reply and the next call now suggest the async mode, and the tool description explains all of this so the agent can choose it on its own. Until the release ships, indexing from the UI, or with codebase-memory-mcp cli index_repository --repo-path <path> in a terminal, avoids the client deadline. Thanks again!
Activity
DeusData commentedon Sep 25, 2026
Thank you @AesElh for the clear report, and for noticing that indexing from the UI works. That pointed straight at the cause.
index_repositorywaits for the whole index before replying. On a large project that takes longer than Copilot for IntelliJ allows a single tool call, so the client gives up and cancels. The daemon then sees nobody waiting and stops that index, which is why every retry timed out again.The fix (#2357) adds an opt-in async mode:
index_repository(repo_path="...", async: true)starts the index in the daemon (or joins one already running for that project) and returns right away. The index keeps running even if the client cancels, times out or disconnects.index_repository(repo_path="...", status: true)and repeat untilstateissucceeded,failedorcancelled; you also getstarted_at,finished_atand an error summary.cli ... --asyncneedscodebase-memory-mcp daemon startfirst.The default synchronous call works as before. When one is cut short, the reply and the next call now suggest the async mode, and the tool description explains all of this so the agent can choose it on its own. Until the release ships, indexing from the UI, or with
codebase-memory-mcp cli index_repository --repo-path <path>in a terminal, avoids the client deadline. Thanks again!Merge pull request #2357 from DeusData/fix/issue-2144
feat(mcp): opt-in async index_repository with status polling (DeusDat…
DeusData commentedon Sep 30, 2026
Thank you again for reporting this, @AesElh! The fix is now on
mainin cb251ed (merged via #2357), and it will ship in the next release.fix(mcp): resolve the root owner for unnamed index status polls