multica-ai/multica · error
write cursor mcp approvals: %w
Error message
write cursor mcp approvals: %w
What it means
Error "write cursor mcp approvals: %w" thrown in multica-ai/multica.
Source
Thrown at server/internal/daemon/execenv/cursor_mcp.go:97
cursorDataDir := filepath.Join(envRoot, "cursor-data")
projectDataDir := filepath.Join(cursorDataDir, "projects", cursorSlugifyPath(projectRoot))
if err := os.MkdirAll(projectDataDir, 0o700); err != nil {
return "", fmt.Errorf("create cursor project data dir: %w", err)
}
if err := removeCursorMcpAuthFile(projectDataDir); err != nil {
return "", err
}
approvals, err := cursorMcpApprovalKeys(projectRoot, servers)
if err != nil {
return "", err
}
approvalData, err := json.MarshalIndent(approvals, "", " ")
if err != nil {
return "", fmt.Errorf("marshal cursor mcp approvals: %w", err)
}
if err := os.WriteFile(filepath.Join(projectDataDir, "mcp-approvals.json"), approvalData, 0o600); err != nil {
return "", fmt.Errorf("write cursor mcp approvals: %w", err)
}
trustData, err := json.MarshalIndent(map[string]string{
"trustedAt": "1970-01-01T00:00:00Z",
"workspacePath": projectRoot,
"trustMethod": "multica-managed",
}, "", " ")
if err != nil {
return "", fmt.Errorf("marshal cursor workspace trust: %w", err)
}
if err := os.WriteFile(filepath.Join(projectDataDir, cursorWorkspaceTrustedFile), trustData, 0o600); err != nil {
return "", fmt.Errorf("write cursor workspace trust: %w", err)
}
if strings.TrimSpace(mcpAuthSource) != "" {
if err := seedCursorMcpAuthFile(projectDataDir, mcpAuthSource); err != nil {
return "", err
}
}
View on GitHub (pinned to 2c0912b6ec)
Solutions
- Check permissions to write the cursor mcp approvals file.
When it happens
Trigger: Thrown at server/internal/daemon/execenv/cursor_mcp.go:97 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15).
Data as JSON: /api/errors/1988b7e5f0e93d4f.
Report an issue: GitHub.