Expose fast mode state in statusline JSON data

Resolved 💬 3 comments Opened Feb 8, 2026 by markthebest12 Closed Mar 27, 2026

Summary

The statusline JSON data provided to custom status line scripts does not include any indication of whether fast mode is enabled. There's no way to detect or display fast mode state in custom status lines.

Current behavior

When fast mode is toggled via /fast, the statusline JSON remains identical — model.id, model.display_name, and all other fields are unchanged. Here's an example of the full JSON payload (with fast mode ON):

{
  "model": {
    "id": "claude-opus-4-6",
    "display_name": "Opus 4.6"
  },
  "workspace": { ... },
  "version": "2.1.37",
  "output_style": { "name": "default" },
  "cost": { ... },
  "context_window": { ... },
  "exceeds_200k_tokens": false,
  "vim": { "mode": "INSERT" }
}

No field changes between fast mode ON and OFF.

Expected behavior

A field like "fast_mode": true/false (or similar) should be included in the statusline JSON so custom status line scripts can display the current fast mode state. For example:

{
  "model": {
    "id": "claude-opus-4-6",
    "display_name": "Opus 4.6",
    "fast_mode": true
  },
  ...
}

Use case

Users with custom status line scripts (configured via ~/.claude/statusline.sh) want to see at a glance whether fast mode is active, alongside model name, context usage, and cost — all of which are already exposed.

Environment

  • Claude Code v2.1.37
  • macOS

View original on GitHub ↗

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