-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Description
What specific problem does this solve?
Description
When configuring the Codebase Indexing feature with Gemini as the embedding provider, the initial scan fails with a fetch failed error. This prevents the user from creating a semantic index of their project, blocking a core feature.
Steps to Reproduce
Navigate to the ”Codebase Indexing“ settings within the extension.
Enable the feature by checking “Enable Codebase Indexing”.
Set the "Embedder Provider“ to Gemini.
Enter a valid Gemini API Key.
Keep the default model: text-embedding-004.
Set the "Qdrant URL" to a running local instance (e.g., http://localhost:6333).
Click the "Start” button to initiate indexing.
The status immediately shows the “Error - Failed during initial scan: fetch failed”.
Expected Behavior
The indexing process should start successfully. The extension should connect to the Gemini API to generate embeddings for the codebase and then store them in the specified local Qdrant instance.
Actual Behavior
The process fails immediately with a generic fetch failed network error.
and the log:
[cloud-settings] Error fetching organization settings:
Error: fetch failed
TypeError: fetch failed
at node:internal/deps/undici/undici:13392:13
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at globalThis.fetch (file:///root/.vscode-server/bin/e249dada235c2083c83813bd65b7f4707fb97b76/out/vs/workbench/api/node/extensionHostProcess.js:174:20102)
at nae.fetchSettings (/root/.vscode-server/extensions/packages/cloud/src/CloudSettingsService.ts:84:21)
at aV.callback (/root/.vscode-server/extensions/packages/cloud/src/CloudSettingsService.ts:43:12)
at aV.executeCallback (/root/.vscode-server/extensions/packages/cloud/src/RefreshTimer.ts:146:19)
so i find the
packages/cloud/src/CloudSettingsService.ts:84:21
try {
const response = await fetch(`${getRooCodeApiUrl()}/api/organization-settings`, {
headers: {
Authorization: `Bearer ${token}`,
},
})
if (!response.ok) {
this.log(
"[cloud-settings] Failed to fetch organization settings:",
response.status,
response.statusText,
)
return false
}
packages/cloud/src/config.ts
export const PRODUCTION_CLERK_BASE_URL = "https://clerk.roocode.com"
export const PRODUCTION_ROO_CODE_API_URL = "https://app.roocode.com"
export const getClerkBaseUrl = () => process.env.CLERK_BASE_URL || PRODUCTION_CLERK_BASE_URL
export const getRooCodeApiUrl = () => process.env.ROO_CODE_API_URL || PRODUCTION_ROO_CODE_API_URLI executed and It can connect, so I really don't know what's wrong.
curl -v "https://app.roocode.com/api/organization-settings"
To prove my network environment, I manually test the Gemini API:

I don't know if there are issues with the steps above. This problem has troubled me for a long time; it's always been fetch failed. I'm looking forward to your good news.
Additional context (optional)
No response
Roo Code Task Links (Optional)
No response
Request checklist
- I've searched existing Issues and Discussions for duplicates
- This describes a specific problem with clear impact and context
Interested in implementing this?
- Yes, I'd like to help implement this feature
Implementation requirements
- I understand this needs approval before implementation begins
How should this be solved? (REQUIRED if contributing, optional otherwise)
No response
How will we know it works? (Acceptance Criteria - REQUIRED if contributing, optional otherwise)
No response
Technical considerations (REQUIRED if contributing, optional otherwise)
No response
Trade-offs and risks (REQUIRED if contributing, optional otherwise)
No response
Metadata
Metadata
Assignees
Labels
Type
Projects
Status