Skip to content

[Feature Request] Plan Mode #96

@engels74

Description

@engels74

Feature request: Plan Mode

Add a read-only "plan first, execute after approval" mode, like the one in Claude Code, Codex, and Gemini CLI.

What it is

Agent investigates and writes a plan. Can read, search, and run exploration commands but can't edit source. User reviews the plan, then approves and drops into normal execution. Standard hotkeys across all three tools: /plan and Shift+Tab.

Prior art

  • Claude Code: one entry in the permission-mode system. Minimal. docs
  • Codex: /plan toggle, recommended for ambiguous/complex tasks. docs
  • Gemini CLI: most fleshed out. Read-only tool allowlist, plan written to .md on disk, Ctrl+X to edit it in $EDITOR, auto model routing (Pro for planning, Flash for execution), hooks, headless auto-approve. docs

Idea / MVP

  1. /plan [goal] and Shift+Tab to enter
  2. Tool allowlist: read-only fs, grep, web search, read-only MCP, memory read, ask_user. Writes only to the plan file.
  3. Plan written to ~/.jcode/tmp/<project>/<session>/plans/*.md
  4. Approve / iterate / cancel UX at the end
  5. Ctrl+E opens the plan in $EDITOR, agent picks up edits on save

Why this fits jcode specifically

  • Side panel: render the plan there with mermaid diagrams, instead of jamming it into chat scrollback like the others do
  • Swarm: plan becomes the dispatch spec; each worker gets its slice
  • Self-dev: natural default for self-modification given the README's own warning about weaker models breaking things
  • Skills: planning-flavored skills auto-activate via the existing semantic loader

Open questions

  • Default on or off? (Gemini: on. Others: off.)
  • Hard-block all shell, or allowlist git status, cargo check, etc.?
  • Auto-checkpoint on plan approval?
  • Adding a "clear context, then execute plan" feature, like codex and claude have?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions