Skip to content

[Feature]: Customizable status line (inspired by Claude Code) #156

Description

@AkshatAggarwal14

Summary

Claude Code ships a statusLine config option that runs a user-defined shell script and renders its output as a persistent bottom bar in the TUI. This is one of the most loved features in the Claude Code ecosystem, with dozens of community plugins (ccstatusline, claude-code-statusline, ai-statusline, etc.). Copilot CLI and OpenAI Codex both have open issues requesting the same.

Augment currently has no equivalent. The closest is /stats (on-demand, not persistent) and issue #132 (token/context display, no traction). A customizable status line would be a significant UX improvement.

Proposed Feature

Add a statusLine config key to ~/.augment/settings.json (and project-level .augment/settings.json):

{
  "statusLine": {
    "type": "command",
    "command": "bash ~/.augment/statusline.sh"
  }
}

How it works

  1. Config: statusLine field in settings.json pointing to a shell script or inline command
  2. Data: Script receives JSON session data on stdin — model name, context window %, cwd, git branch, session cost, token counts, duration, etc.
  3. Display: Persistent bottom bar showing whatever the script prints (supports ANSI colors, multi-line)
  4. Updates: Refresh after each assistant message (debounced ~300ms, similar to Claude Code)

Example JSON payload (piped to script on stdin)

{
  "model": { "display_name": "GLM 5.2" },
  "workspace": {
    "current_dir": "~/dev/my-project",
    "repo": { "name": "my-project" }
  },
  "context_window": {
    "used_percentage": 42.5,
    "total_input_tokens": 85000,
    "total_output_tokens": 12000
  },
  "cost": {
    "total_cost_usd": 0.12,
    "total_duration_ms": 340000
  }
}

Example statusline output

~/dev/my-project  my-project[main]  |  GLM 5.2  ctx:42%  97.0k tok  $0.12  5:40

Why this matters

  • Git branch visibility — always know which branch/repo you're in when switching between sessions
  • Context window awareness — see when you're approaching the context limit before it's too late
  • Cost tracking — monitor session spend in real time
  • Model awareness — know which model is active at a glance
  • Customizable — users can write their own scripts or use community plugins to display whatever they want
  • Ecosystem parity — Claude Code has this, Copilot CLI and Codex both have open requests for it. Many community statusline plugins could be adapted for Augment with minimal effort if the JSON contract is similar.

Acceptance Criteria

  • statusLine config key is accepted in ~/.augment/settings.json and .augment/settings.json
  • Configured command receives JSON session data on stdin
  • Command stdout (first line or multi-line, ANSI-aware) is rendered as a persistent bottom bar in the TUI
  • Status line refreshes after each assistant message (debounced)
  • Fails open — a slow or failing command never blocks the TUI
  • Works alongside existing TUI elements without overlap

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions