Troubleshooting
Common ParrotJS issues and how to fix them — runner crashes, module resolution, timeouts, and more.
I don’t see inline values on the free tier
Expected. The free tier shows live comments (// ?), inline console output, and inline assertions. Full automatic inline values — every variable, function return, and loop iteration — are a PRO feature.
To see values on the free tier, add a live comment:
const items = [1, 2, 3].map((x) => x * 2);
const total = items.reduce((sum, n) => sum + n, 0); // ? total → 12
Nothing appears at all
If you’re not even seeing live comments or console output:
- Make sure ParrotJS is running — check the status bar for the parrot toggle, or run ParrotJS: Start.
- Confirm you’re in a
.js,.ts,.jsx, or.tsxfile. - Check
parrotjs.autoStart— iffalse, ParrotJS won’t start on open. - Open the ParrotJS output panel (ParrotJS: Show Output) and look for lifecycle or error entries.
“Cannot find module ‘x’”
ParrotJS resolves imports at the runtime level. If a bare specifier can’t be found:
- Make sure the package is installed in
node_modules. - Node builtins (
fs,path,crypto, …) always resolve. - Set
parrotjs.includeNodeModules: trueif your project imports fromnode_modules(thereactprofile enables this). - Relative imports (
./utils,../lib/helpers) resolve against the importing file.
The error is shown inline at the require/import line, and in the output panel.
“Execution timeout” / code hangs
Long-running or infinite-looping code is terminated after parrotjs.maxExecutionTime (default 5000ms). If your code legitimately needs longer:
{
"parrotjs.maxExecutionTime": 10000
}
The react profile already uses a 10s timeout. Note the extension host also enforces a hard cap, so extremely long runs may still be cut off.
Runner crash / “runner unresponsive”
Each file executes in a forked Node.js child process, monitored with periodic health checks. If the runner stops responding, ParrotJS restarts it automatically and reports a crash diagnostic in the status bar and output panel.
If you see repeated crashes:
- Check the output panel for the crash reason (e.g. a spawn error).
- Confirm Node.js is installed and on your PATH (ParrotJS spawns
nodeto run your code). - Restart VS Code if the extension host is in a bad state.
Inline values look wrong in TypeScript files
ParrotJS uses a 4-stage source map chain (original → transpiled → bundled → instrumented) so values, errors, and coverage map back to your original .ts source. If a value lands on the wrong line:
- Make sure the file isn’t using a custom transpiler that conflicts.
- Report it with the ParrotJS: Show Instrumented Code output (open the read-only view of the transformed code) so the mapping issue can be diagnosed.
Large objects freeze or truncate
Inline values are truncated to keep the editor fast:
parrotjs.maxInlineLength(default 80) — max characters inline.parrotjs.maxObjectDepth(default 3) — deeper nesting shows as{…}.
For deep inspection use the Value Explorer (PRO) — it loads children lazily, so a 10,000-entry object won’t hang.
In auto-log mode, parrotjs.logLimit (default 100) caps captures per line to prevent log spam.
Time Travel keys don’t respond
Time-travel keybindings (F10, F11, Alt+←, …) only work while a recording is active. Make sure you’ve toggled recording on (ParrotJS: Toggle Time Travel / Shift+F5) and that the session is running. Time Travel is also a PRO feature.
Coverage dots don’t appear
Coverage is a PRO feature. On PRO, check parrotjs.showCoverage (default true).
License not activating
- Double-check the key — it’s a
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxformat. - A license is bound to the machine it was activated on.
- One trial per machine — a second trial will be rejected.
- Licenses revalidate daily; if validation fails (offline, revoked), the extension drops to free and shows an expired status via ParrotJS: License Status.
See License & Trial for the full flow.
Still stuck?
Open an issue on the ParrotDev issues repository with:
- Your VS Code and ParrotJS versions
- The file type (
js/ts/jsx/tsx) - Your profile and relevant settings
- The output panel contents (especially any crash diagnostics)