Feature Request: Expose Plan/Edit Mode in Statusline JSON

Resolved 💬 2 comments Opened Jan 28, 2026 by xeeban Closed Jan 29, 2026

Summary

Add a mode field to the statusline JSON input so users can display the current operational mode (plan vs edit) in their custom status lines.

Motivation

When working with Claude Code, switching between plan mode and edit mode changes the behavior significantly:

  • Plan mode: Read-only exploration, no edits allowed
  • Edit mode: Full tool access, can make changes

Currently, users must rely on memory or visual cues in the conversation to know which mode they're in. Having this in the statusline would provide persistent, at-a-glance awareness - similar to how showing the git branch helps maintain context.

Proposed Solution

Add a mode field to the statusline JSON input:

{
  "mode": {
    "name": "plan",
    "display_name": "Plan"
  },
  ...existing fields...
}

Possible values:

  • plan - Plan mode active (read-only)
  • edit - Normal edit mode
  • (future modes as they're added)

Use Case

Users with custom statuslines could display:

➜ Opus ~/myproject  main [PLAN] $0.23 (15%)

Or with colors:

  • Green for edit mode (safe to make changes)
  • Yellow/orange for plan mode (read-only)

Current Workaround

None. Mode state is internal and not exposed to statusline scripts.

Additional Context

The statusline feature is powerful for building awareness of session state. Adding mode would complement the existing fields (model, cost, context %) and help users maintain situational awareness during complex workflows.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗