diegosouzapw/OmniRoute · error · ObsidianServerError
Cannot reach Obsidian at ${baseUrl}. Ensure the Local REST A
Error message
Cannot reach Obsidian at ${baseUrl}. Ensure the Local REST API plugin is running and using the correct port. The REST API uses HTTP on port 27123 — do not use port 27124 (that is a separate MCP endpoint with HTTPS). If connecting via Tailscale, use http://<tailscale-ip>:27123. What it means
Error "Cannot reach Obsidian at ${baseUrl}. Ensure the Local REST API plugin is running and using the correct port. The REST API uses HTTP on port 27123 — do not use port 27124 (that is a separate MCP endpoint with HTTPS). If connecting via Tailscale, use http://<tailscale-ip>:27123." thrown in diegosouzapw/OmniRoute.
Source
Thrown at src/lib/obsidian/api.ts:111
}
const ct = response.headers.get("content-type") ?? "";
if (ct.includes("application/json")) {
return response.json();
}
return response.text();
} catch (err) {
if (err instanceof Error && err.name === "AbortError") {
clearTimeout(timeout);
throw new ObsidianTimeoutError("Obsidian API request timed out after 30s");
}
if (err instanceof ObsidianAuthError || err instanceof ObsidianNotFoundError) {
clearTimeout(timeout);
throw err;
}
if (err instanceof TypeError && err.message === "fetch failed") {
clearTimeout(timeout);
throw new ObsidianServerError(
`Cannot reach Obsidian at ${baseUrl}. Ensure the Local REST API plugin is running ` +
`and using the correct port. The REST API uses HTTP on port 27123 — do not use ` +
`port 27124 (that is a separate MCP endpoint with HTTPS). If connecting via ` +
`Tailscale, use http://<tailscale-ip>:27123.`
);
}
if (retryCount < MAX_RETRIES - 1) {
lastError = err instanceof Error ? err : new ObsidianServerError(String(err));
await sleep(Math.pow(2, retryCount) * 200);
return attempt(retryCount + 1);
}
clearTimeout(timeout);
throw err;
}
};
return attempt(0);
}View on GitHub (pinned to a179ffed5b)
When it happens
Trigger: Thrown at src/lib/obsidian/api.ts:111 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of diegosouzapw/OmniRoute@a179ffed5b (2026-08-25).
Data as JSON: /api/errors/785ad45a162e6f78.
Report an issue: GitHub.