Skip to content

Feature Request: Jupyter Notebook Read/Edit Support #2816

@chinesepowered

Description

@chinesepowered

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

  1. Enhance ReadFile to detect .ipynb files and render notebook cells with their outputs in a structured, human-readable format (cell type, source, outputs) instead of raw JSON.

  2. Add a NotebookEditTool that 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-N indexing

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.ts and tool-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

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions