gemini-cli - 💡(How to fix) Fix EBADF Error during folder creationg broke session and terminal glitches

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

CLI broke and simply stopped during an mkdir command. That error (EBADF) indicates a "Bad File Descriptor" in the terminal emulator (node-pty), which typically happens when the terminal session is interrupted or glitched during a resize or command execution. ERROR ioctl(2) failed, EBADF 241: throw new Error('resizing must be done using positive cols and rows'); An unexpected critical error occurred:Error: ioctl(2) failed, EBADF

RAW_BUFFERClick to expand / collapse

What happened?

CLI broke and simply stopped during an mkdir command. That error (EBADF) indicates a "Bad File Descriptor" in the terminal emulator (node-pty), which typically happens when the terminal session is interrupted or glitched during a resize or command execution.

I've also been noticing some glitch in the terminal view during the latest sessions. I'm using GNOME terminal v3.52.0 for GNOME 46, maybe this glitch has something to do with it.

  ERROR  ioctl(2) failed, EBADF

 /home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/node_modules/@lydell/node-pty/unixTerminal.js:243:13

 240:         if (cols <= 0 || rows <= 0 || isNaN(cols) || isNaN(rows) || cols === Infinity || rows === Infinity) {
 241:             throw new Error('resizing must be done using positive cols and rows');
 242:         }
 243:         pty.resize(this._fd, cols, rows);
 244:         this._cols = cols;
 245:         this._rows = rows;
 246:     };

 - UnixTerminal.resize (/home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/node_modules/@lydell/node-pty/unixTerminal.js:243:13)
 - _ShellExecutionService.resizePty (file:///home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/bundle/chunk-BE42OOYM.js:320262:30)
 -  (file:///home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/bundle/interactiveCli-RDMZS6KL.js:6529:31)
 - commitHookEffectListMount (file:///home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/bundle/chunk-VUERI7WB.js:5260:30)
 - commitPassiveMountOnFiber (file:///home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/bundle/chunk-VUERI7WB.js:6282:29)
 - recursivelyTraversePassiveMountEffects (file:///home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/bundle/chunk-VUERI7WB.js:6263:13)
 - commitPassiveMountOnFiber (file:///home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/bundle/chunk-VUERI7WB.js:6374:13)
 - recursivelyTraversePassiveMountEffects (file:///home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/bundle/chunk-VUERI7WB.js:6263:13)
 - commitPassiveMountOnFiber (file:///home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/bundle/chunk-VUERI7WB.js:6374:13)
 - recursivelyTraversePassiveMountEffects (file:///home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/bundle/chunk-VUERI7WB.js:6263:13)

An unexpected critical error occurred:Error: ioctl(2) failed, EBADF
    at UnixTerminal.resize (/home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/node_modules/@lydell/node-pty/unixTerminal.js:243:13)
    at _ShellExecutionService.resizePty (file:///home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/bundle/chunk-BE42OOYM.js:320262:30)
    at file:///home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/bundle/interactiveCli-RDMZS6KL.js:6529:31
    at commitHookEffectListMount (file:///home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/bundle/chunk-VUERI7WB.js:5260:30)
    at commitPassiveMountOnFiber (file:///home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/bundle/chunk-VUERI7WB.js:6282:29)
    at recursivelyTraversePassiveMountEffects (file:///home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/bundle/chunk-VUERI7WB.js:6263:13)
    at commitPassiveMountOnFiber (file:///home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/bundle/chunk-VUERI7WB.js:6374:13)
    at recursivelyTraversePassiveMountEffects (file:///home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/bundle/chunk-VUERI7WB.js:6263:13)
    at commitPassiveMountOnFiber (file:///home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/bundle/chunk-VUERI7WB.js:6374:13)
    at recursivelyTraversePassiveMountEffects (file:///home/felipe/.nvm/versions/node/v22.21.1/lib/node_modules/@google/gemini-cli/bundle/chunk-VUERI7WB.js:6263:13)
``

### What did you expect to happen?

The creation of a few folders under my project for a new use-case endpoint.

### Client information


* **CLI Version:** 0.44.0
* **Git Commit:** 1000b33d4
* **Session ID:** fb7ca441-e7f2-439e-84e2-caab65ea51c5
* **Operating System:** linux v22.21.1
* **Sandbox Environment:** no sandbox
* **Model Version:** gemini-3-flash-preview
* **Auth Type:** oauth-personal
* **Memory Usage:** 285.3 MB
* **Terminal Name:** VTE(7600)
* **Terminal Background:** #28232d
* **Kitty Keyboard Protocol:** Unsupported


### Login information

_No response_

### Anything else we need to know?

_No response_

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING