-
Notifications
You must be signed in to change notification settings - Fork 2k
Feature Request: Jupyter Notebook Read/Edit Support #2816
Description
What would you like to be added?
Feature Request: Jupyter Notebook Read/Edit Support
Problem
Qwen Code has no notebook-specific tooling. When users work with .ipynb files, they must treat them as raw JSON, which is error-prone and unhelpful. The only reference to ipynb in the codebase is in the Claude extension converter. Data science and ML workflows rely heavily on Jupyter notebooks, and lacking native support means Qwen Code cannot assist with a major segment of developer workflows.
Proposed Solution
-
Enhance
ReadFileto detect.ipynbfiles and render notebook cells with their outputs in a structured, human-readable format (cell type, source, outputs) instead of raw JSON. -
Add a
NotebookEditToolthat can:- Replace the source of an existing cell (by cell ID or index)
- Insert new cells at a specific position
- Delete cells
- Automatically clear outputs and reset execution counts on code cell edits
- Support both nbformat 4.5+ cell IDs and numeric
cell-Nindexing
Scope
- New utility module:
packages/core/src/utils/notebookUtils.ts - New tool:
packages/core/src/tools/notebook-edit.ts - Changes to
packages/core/src/utils/fileUtils.ts(notebook detection + rendering) - Tool registration in
packages/core/src/config/config.ts - New tool name + error types in
tool-names.tsandtool-error.ts
Impact
High for data science and ML users. Medium overall effort.
Why is this needed?
Qwen Code has no notebook-specific tooling. When users work with .ipynb files, they must treat them as raw JSON, which is error-prone and unhelpful. The only reference to ipynb in the codebase is in the Claude extension converter. Data science and ML workflows rely heavily on Jupyter notebooks, and lacking native support means Qwen Code cannot assist with a major segment of developer workflows.
Additional context
No response