Summary
Two CLI bugs identified requiring fixes: path corruption in eject command causing mkdir failures, and missing error classification for build failures. API timeouts continue as highest backend issue.
| Metric |
Value |
| Time range |
last 24 hours |
| Total errors |
255 |
| CLI bugs |
2 |
| Backend issues |
1 |
| User errors (working as designed) |
5 |
| Unique users affected |
67 |
| Internal user occurrences |
28 |
Errors requiring action
1. Path corruption during eject command — CLI bug
|
|
| Error code |
None (unclassified) |
| Occurrences |
4 (0 internal) |
| Users affected |
4 |
| Command |
eject |
| Platforms |
Windows |
| PostHog |
View in error tracking |
| Existing issue |
None |
| Recurring |
No |
Error: (from PostHog — the actual error message users see)
Error: ENOENT: no such file or directory, mkdir 'C:\Users\<redacted>\uv-profit-ink-xC:\Users\<redacted>\Documents\Base44\Projects\UVProfitInk'
Stack trace: (shows generic Commander frames only)
at Command.parseAsync (command.js:1091:4)
Root cause: Path resolution corruption in eject command user input handling:
// packages/cli/src/cli/commands/project/eject.ts:96-114
const projectId = selectedProject.id;
const suggestedPath = (await isDirEmpty())
? `./`
: `./${kebabCase(selectedProject.name)}`;
const selectedPath =
options.path ??
(await text({
message: "Where should we create your project?",
placeholder: suggestedPath,
initialValue: suggestedPath,
}));
const resolvedPath = resolve(selectedPath);
The path C:\Users\John\uv-profit-ink-xC:\Users\John\Documents\Base44\Projects\UVProfitInk shows corruption where the suggested path (uv-profit-ink-x from kebab-cased project name) got mixed with the user's input path. This suggests an issue with the @clack/prompts text input handling or Node.js path.resolve() on Windows with malformed input.
Suggested fix: In packages/cli/src/cli/commands/project/eject.ts:114, add path validation before calling resolve(selectedPath) and sanitize the input to prevent path corruption on Windows.
2. Build failures lack error classification — CLI bug
|
|
| Error code |
None (unclassified) |
| Occurrences |
13 (1 internal) |
| Users affected |
10 |
| Command |
eject |
| Platforms |
Darwin |
| PostHog |
View in error tracking |
| Existing issue |
None |
| Recurring |
No |
Error: (from PostHog — the actual error message users see)
Command failed with exit code 1: 'npm run build'
Stack trace: (shows generic Commander frames only - no CLI source frames available)
Root cause: The eject command runs build commands via execa but doesn't properly classify build failures:
// packages/cli/src/cli/commands/project/eject.ts:164-167
await execa({ cwd: resolvedPath, shell: true })`${installCommand}`;
updateMessage("Building project...");
await execa({ cwd: resolvedPath, shell: true })`${buildCommand}`;
When the build command fails (like Vite failing to find src/entities/Idiom), the error bubbles up as a generic unclassified error rather than being caught and classified as a user build error or dependency issue.
Suggested fix: In packages/cli/src/cli/commands/project/eject.ts:164-167, wrap the execa calls in try-catch blocks and throw appropriate classified errors (e.g., BuildFailedError or DependencyError) instead of letting generic execution errors bubble up unclassified.
Backend issues (not CLI fixes)
| Error |
Occurrences |
Users |
Command |
PostHog |
| API timeout creating projects |
31 |
14 |
create |
link |
| API timeout listing projects |
6 |
6 |
eject |
link |
| API timeout getting site URL |
3 |
3 |
exec |
link |
| Secret deletion failures |
3 |
3 |
secrets delete |
link |
| Entity schema deletion conflicts |
2 |
2 |
entities push |
link |
These are backend/infrastructure timeouts and conflicts, not CLI fixes.
User errors (working as designed)
| Error |
Occurrences |
Users |
Command |
PostHog |
| Duplicate function names (INVALID_INPUT) |
82 |
22 |
eject |
link |
| No Base44 project found (CONFIG_NOT_FOUND) |
62 |
24 |
link |
link |
| App not configured (CONFIG_INVALID) |
17 |
4 |
site deploy |
link |
| Invalid entity schema (SCHEMA_INVALID) |
10 |
8 |
deploy |
link |
| Project already linked (CONFIG_EXISTS) |
9 |
7 |
link |
link |
All user errors provide appropriate validation messages. The high volume of duplicate function name errors (82 occurrences) suggests users commonly have conflicting function names like "detectAndMapSkus" when ejecting projects.
Recurring errors
| Error |
Days recurring |
Existing issue |
Tracked? |
| Authentication timeout (unclassified) |
0 days |
Referenced in #440, #438, #436, #434, #433 |
Previously recurring, not in current dataset |
The previously recurring authentication timeout error does not appear in today's dataset, suggesting it may have been resolved or is not occurring in the last 24 hours.
Action items
-
[medium] packages/cli/src/cli/commands/project/eject.ts:114 — Add path validation before resolve(selectedPath) to prevent Windows path corruption when user input mixes with suggested paths. Validate that the resolved path is a proper absolute or relative path before passing to makeDirectory.
-
[medium] packages/cli/src/cli/commands/project/eject.ts:164-167 — Wrap execa build command calls in try-catch blocks and throw classified errors (BuildFailedError or DependencyError) instead of letting generic execution errors bubble up unclassified for better telemetry tracking.
-
[low] Monitor backend API timeout volume — while not CLI bugs, the 31 project creation timeouts affecting 14 users suggests potential backend performance issues during project creation.
Summary
Two CLI bugs identified requiring fixes: path corruption in eject command causing mkdir failures, and missing error classification for build failures. API timeouts continue as highest backend issue.
Errors requiring action
1. Path corruption during eject command — CLI bug
ejectError: (from PostHog — the actual error message users see)
Stack trace: (shows generic Commander frames only)
Root cause: Path resolution corruption in eject command user input handling:
The path
C:\Users\John\uv-profit-ink-xC:\Users\John\Documents\Base44\Projects\UVProfitInkshows corruption where the suggested path (uv-profit-ink-xfrom kebab-cased project name) got mixed with the user's input path. This suggests an issue with the @clack/prompts text input handling or Node.jspath.resolve()on Windows with malformed input.Suggested fix: In
packages/cli/src/cli/commands/project/eject.ts:114, add path validation before callingresolve(selectedPath)and sanitize the input to prevent path corruption on Windows.2. Build failures lack error classification — CLI bug
ejectError: (from PostHog — the actual error message users see)
Stack trace: (shows generic Commander frames only - no CLI source frames available)
Root cause: The eject command runs build commands via execa but doesn't properly classify build failures:
When the build command fails (like Vite failing to find src/entities/Idiom), the error bubbles up as a generic unclassified error rather than being caught and classified as a user build error or dependency issue.
Suggested fix: In
packages/cli/src/cli/commands/project/eject.ts:164-167, wrap the execa calls in try-catch blocks and throw appropriate classified errors (e.g.,BuildFailedErrororDependencyError) instead of letting generic execution errors bubble up unclassified.Backend issues (not CLI fixes)
createejectexecsecrets deleteentities pushThese are backend/infrastructure timeouts and conflicts, not CLI fixes.
User errors (working as designed)
ejectlinksite deploydeploylinkAll user errors provide appropriate validation messages. The high volume of duplicate function name errors (82 occurrences) suggests users commonly have conflicting function names like "detectAndMapSkus" when ejecting projects.
Recurring errors
The previously recurring authentication timeout error does not appear in today's dataset, suggesting it may have been resolved or is not occurring in the last 24 hours.
Action items
[medium]
packages/cli/src/cli/commands/project/eject.ts:114— Add path validation beforeresolve(selectedPath)to prevent Windows path corruption when user input mixes with suggested paths. Validate that the resolved path is a proper absolute or relative path before passing tomakeDirectory.[medium]
packages/cli/src/cli/commands/project/eject.ts:164-167— Wrap execa build command calls in try-catch blocks and throw classified errors (BuildFailedErrororDependencyError) instead of letting generic execution errors bubble up unclassified for better telemetry tracking.[low] Monitor backend API timeout volume — while not CLI bugs, the 31 project creation timeouts affecting 14 users suggests potential backend performance issues during project creation.